(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_20 (Apple Inc.) Main-Class: Test5
public class Test5 {
public static void main(String[] args) {
List l1 = List.mk(args.length);
List l2 = List.mk(args.length + 3);
List l3 = List.mk(args.length + 5);
List temp;

while (length(l1) > 0) {
temp = l1;
l1 = l2;
l2 = l3;
l3 = temp;

if (length(l2) % 3 == 0)
temp = temp.getTail();

if (length(l3) % 5 == 0)
l3 = l3.getTail();

if (length(l1) > length(l2))
l1 = l1.getTail();
else if (length(l1) == length(l2))
l2 = l2.getTail();
else
l3 = l3.getTail();

test(l1, l2, l3);
}
}

private static int length(List list) {
int len = 0;

while (list != null) {
list = list.getTail();
len++;
}

return len;
}

private static void test(List l1, List l2, List l3) {
while (l1 != null) {
l2 = new List(l1, l2);
l3 = new List(l2, l3);
l1 = l1.getTail();
}
}
}

public class List {
public Object head;
private List tail;

public List(Object head, List tail) {
this.head = head;
this.tail = tail;
}

public List getTail() {
return tail;
}

public static List mk(int len) {
List result = null;

while (len-- > 0)
result = new List(new Object(), result);

return result;
}
}

(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Test5.main([Ljava/lang/String;)V: Graph of 263 nodes with 1 SCC.

List.mk(I)LList;: Graph of 32 nodes with 1 SCC.

Test5.length(LList;)I: Graph of 27 nodes with 1 SCC.

Test5.test(LList;LList;LList;)V: Graph of 56 nodes with 1 SCC.


(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Logs:


Log for SCC 0:

Generated 51 rules for P and 2 rules for R.


Combined rules. Obtained 3 rules for P and 0 rules for R.


Filtered ground terms:


3187_0_test_NULL(x1, x2, x3, x4, x5) → 3187_0_test_NULL(x2, x3, x4, x5)
List(x1, x2) → List(x2)
2415_0_test_NULL(x1, x2, x3, x4, x5) → 2415_0_test_NULL(x2, x3, x4, x5)

Filtered duplicate args:


3187_0_test_NULL(x1, x2, x3, x4) → 3187_0_test_NULL(x2, x3, x4)
2415_0_test_NULL(x1, x2, x3, x4) → 2415_0_test_NULL(x2, x3, x4)

Finished conversion. Obtained 3 rules for P and 0 rules for R. System has no predefined symbols.




Log for SCC 1:

Generated 19 rules for P and 3 rules for R.


Combined rules. Obtained 3 rules for P and 1 rules for R.


Filtered ground terms:


707_0_length_Store(x1, x2) → 707_0_length_Store(x2)
627_0_length_NULL(x1, x2, x3) → 627_0_length_NULL(x2, x3)
List(x1, x2) → List(x2)
656_0_length_Return(x1) → 656_0_length_Return

Filtered duplicate args:


627_0_length_NULL(x1, x2) → 627_0_length_NULL(x2)

Finished conversion. Obtained 3 rules for P and 1 rules for R. System has no predefined symbols.




Log for SCC 2:

Generated 23 rules for P and 3 rules for R.


Combined rules. Obtained 1 rules for P and 0 rules for R.


Filtered ground terms:


422_0_mk_Inc(x1, x2, x3) → 422_0_mk_Inc(x2, x3)
Cond_422_0_mk_Inc(x1, x2, x3, x4) → Cond_422_0_mk_Inc(x1, x3, x4)

Filtered duplicate args:


422_0_mk_Inc(x1, x2) → 422_0_mk_Inc(x2)
Cond_422_0_mk_Inc(x1, x2, x3) → Cond_422_0_mk_Inc(x1, x3)

Combined rules. Obtained 1 rules for P and 0 rules for R.


Finished conversion. Obtained 1 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 3:

Generated 114 rules for P and 206 rules for R.


Combined rules. Obtained 12 rules for P and 16 rules for R.


Filtered ground terms:


List(x1, x2) → List(x2)
718_0_length_ConstantStackPush(x1, x2) → 718_0_length_ConstantStackPush(x2)
656_0_length_Return(x1, x2) → 656_0_length_Return(x2)
775_0_length_ConstantStackPush(x1, x2) → 775_0_length_ConstantStackPush(x2)
1100_0_test_Load(x1, x2, x3, x4) → 1100_0_test_Load(x2, x3, x4)
233_0_length_ConstantStackPush(x1, x2) → 233_0_length_ConstantStackPush(x2)
2429_0_test_Return(x1) → 2429_0_test_Return
908_0_length_ConstantStackPush(x1, x2) → 908_0_length_ConstantStackPush(x2)
867_0_length_ConstantStackPush(x1, x2) → 867_0_length_ConstantStackPush(x2)
807_0_length_ConstantStackPush(x1, x2) → 807_0_length_ConstantStackPush(x2)
668_0_length_ConstantStackPush(x1, x2) → 668_0_length_ConstantStackPush(x2)
2390_0_test_NULL(x1, x2, x3, x4, x5) → 2390_0_test_NULL(x2, x3, x4, x5)
3158_0_test_NULL(x1, x2, x3, x4, x5) → 3158_0_test_NULL(x2, x3, x4, x5)
627_0_length_NULL(x1, x2, x3, x4) → 627_0_length_NULL(x2, x3, x4)
Cond_627_0_length_NULL(x1, x2, x3, x4, x5) → Cond_627_0_length_NULL(x1, x3, x4, x5)
697_0_getTail_Return(x1, x2) → 697_0_getTail_Return(x2)

Filtered duplicate args:


718_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 718_1_main_InvokeMethod(x1, x2, x3, x5)
Cond_668_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_668_1_main_InvokeMethod1(x1, x2, x3, x6, x7)
668_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 668_1_main_InvokeMethod(x1, x2, x5, x6)
775_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 775_1_main_InvokeMethod(x1, x3, x4, x5)
Cond_718_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6) → Cond_718_1_main_InvokeMethod1(x1, x2, x3, x4, x6)
1100_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 1100_1_main_InvokeMethod(x1, x5, x6, x7)
Cond_807_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_807_1_main_InvokeMethod1(x1, x2, x3, x5, x6, x7)
807_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 807_1_main_InvokeMethod(x1, x2, x4, x5, x6)
908_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 908_1_main_InvokeMethod(x1, x2, x4, x5, x6)
233_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 233_1_main_InvokeMethod(x1, x3, x4, x5)
Cond_908_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_908_1_main_InvokeMethod(x1, x2, x3, x5, x6, x7)
867_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 867_1_main_InvokeMethod(x1, x3, x4, x5)
Cond_807_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_807_1_main_InvokeMethod(x1, x2, x3, x5, x6, x7)
Cond_718_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_718_1_main_InvokeMethod(x1, x2, x3, x4, x6)
Cond_668_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_668_1_main_InvokeMethod(x1, x2, x3, x6, x7)
Cond_233_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_233_1_main_InvokeMethod(x1, x2, x4, x5, x6)
2390_0_test_NULL(x1, x2, x3, x4) → 2390_0_test_NULL(x2, x3, x4)
3158_0_test_NULL(x1, x2, x3, x4) → 3158_0_test_NULL(x2, x3, x4)
627_0_length_NULL(x1, x2, x3) → 627_0_length_NULL(x2, x3)
Cond_627_0_length_NULL(x1, x2, x3, x4) → Cond_627_0_length_NULL(x1, x3, x4)

Filtered unneeded arguments:


Cond_807_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_807_1_main_InvokeMethod(x1, x2, x3, x4, x6)
Cond_908_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_908_1_main_InvokeMethod(x1, x2, x3, x4, x6)
Cond_807_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6) → Cond_807_1_main_InvokeMethod1(x1, x2, x3, x4, x6)

Combined rules. Obtained 12 rules for P and 15 rules for R.


Finished conversion. Obtained 12 rules for P and 15 rules for R. System has predefined symbols.


(4) Complex Obligation (AND)

(5) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:
none


R is empty.

The integer pair graph contains the following rules and edges:
(0): 3187_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0])) → 2415_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0]))
(1): 2415_0_TEST_NULL(x1[1], x2[1], java.lang.Object(List(java.lang.Object(x0[1])))) → 2415_0_TEST_NULL(java.lang.Object(List(x1[1])), java.lang.Object(List(x2[1])), java.lang.Object(x0[1]))
(2): 2415_0_TEST_NULL(x1[2], x2[2], java.lang.Object(List(x0[2]))) → 3187_0_TEST_NULL(java.lang.Object(List(x1[2])), java.lang.Object(List(x2[2])), x0[2])

(0) -> (1), if ((java.lang.Object(List(x1[0])) →* x1[1])∧(java.lang.Object(List(x2[0])) →* x2[1])∧(java.lang.Object(x0[0]) →* java.lang.Object(List(java.lang.Object(x0[1])))))


(0) -> (2), if ((java.lang.Object(List(x1[0])) →* x1[2])∧(java.lang.Object(List(x2[0])) →* x2[2])∧(java.lang.Object(x0[0]) →* java.lang.Object(List(x0[2]))))


(1) -> (1), if ((java.lang.Object(List(x1[1])) →* x1[1]')∧(java.lang.Object(List(x2[1])) →* x2[1]')∧(java.lang.Object(x0[1]) →* java.lang.Object(List(java.lang.Object(x0[1]')))))


(1) -> (2), if ((java.lang.Object(List(x1[1])) →* x1[2])∧(java.lang.Object(List(x2[1])) →* x2[2])∧(java.lang.Object(x0[1]) →* java.lang.Object(List(x0[2]))))


(2) -> (0), if ((java.lang.Object(List(x1[2])) →* java.lang.Object(List(x1[0])))∧(java.lang.Object(List(x2[2])) →* java.lang.Object(List(x2[0])))∧(x0[2]* java.lang.Object(x0[0])))



The set Q is empty.

(6) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

3187_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0])) → 2415_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0]))
2415_0_TEST_NULL(x1[1], x2[1], java.lang.Object(List(java.lang.Object(x0[1])))) → 2415_0_TEST_NULL(java.lang.Object(List(x1[1])), java.lang.Object(List(x2[1])), java.lang.Object(x0[1]))
2415_0_TEST_NULL(x1[2], x2[2], java.lang.Object(List(x0[2]))) → 3187_0_TEST_NULL(java.lang.Object(List(x1[2])), java.lang.Object(List(x2[2])), x0[2])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(8) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 2415_0_TEST_NULL(x1[2], x2[2], java.lang.Object(List(x0[2]))) → 3187_0_TEST_NULL(java.lang.Object(List(x1[2])), java.lang.Object(List(x2[2])), x0[2])
    The graph contains the following edges 3 > 3

  • 2415_0_TEST_NULL(x1[1], x2[1], java.lang.Object(List(java.lang.Object(x0[1])))) → 2415_0_TEST_NULL(java.lang.Object(List(x1[1])), java.lang.Object(List(x2[1])), java.lang.Object(x0[1]))
    The graph contains the following edges 3 > 3

  • 3187_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0])) → 2415_0_TEST_NULL(java.lang.Object(List(x1[0])), java.lang.Object(List(x2[0])), java.lang.Object(x0[0]))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3

(9) YES

(10) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:
none


The ITRS R consists of the following rules:
627_0_length_NULL(NULL) → 656_0_length_Return

The integer pair graph contains the following rules and edges:
(0): 707_0_LENGTH_STORE(x0[0]) → 627_0_LENGTH_NULL(x0[0])
(1): 627_0_LENGTH_NULL(java.lang.Object(List(x0[1]))) → 627_0_LENGTH_NULL(x0[1])
(2): 627_0_LENGTH_NULL(java.lang.Object(List(x0[2]))) → 707_0_LENGTH_STORE(x0[2])

(0) -> (1), if ((x0[0]* java.lang.Object(List(x0[1]))))


(0) -> (2), if ((x0[0]* java.lang.Object(List(x0[2]))))


(1) -> (1), if ((x0[1]* java.lang.Object(List(x0[1]'))))


(1) -> (2), if ((x0[1]* java.lang.Object(List(x0[2]))))


(2) -> (0), if ((x0[2]* x0[0]))



The set Q consists of the following terms:
627_0_length_NULL(NULL)

(11) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(12) Obligation:

Q DP problem:
The TRS P consists of the following rules:

707_0_LENGTH_STORE(x0[0]) → 627_0_LENGTH_NULL(x0[0])
627_0_LENGTH_NULL(java.lang.Object(List(x0[1]))) → 627_0_LENGTH_NULL(x0[1])
627_0_LENGTH_NULL(java.lang.Object(List(x0[2]))) → 707_0_LENGTH_STORE(x0[2])

The TRS R consists of the following rules:

627_0_length_NULL(NULL) → 656_0_length_Return

The set Q consists of the following terms:

627_0_length_NULL(NULL)

We have to consider all minimal (P,Q,R)-chains.

(13) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(14) Obligation:

Q DP problem:
The TRS P consists of the following rules:

707_0_LENGTH_STORE(x0[0]) → 627_0_LENGTH_NULL(x0[0])
627_0_LENGTH_NULL(java.lang.Object(List(x0[1]))) → 627_0_LENGTH_NULL(x0[1])
627_0_LENGTH_NULL(java.lang.Object(List(x0[2]))) → 707_0_LENGTH_STORE(x0[2])

R is empty.
The set Q consists of the following terms:

627_0_length_NULL(NULL)

We have to consider all minimal (P,Q,R)-chains.

(15) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

627_0_length_NULL(NULL)

(16) Obligation:

Q DP problem:
The TRS P consists of the following rules:

707_0_LENGTH_STORE(x0[0]) → 627_0_LENGTH_NULL(x0[0])
627_0_LENGTH_NULL(java.lang.Object(List(x0[1]))) → 627_0_LENGTH_NULL(x0[1])
627_0_LENGTH_NULL(java.lang.Object(List(x0[2]))) → 707_0_LENGTH_STORE(x0[2])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(17) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 627_0_LENGTH_NULL(java.lang.Object(List(x0[2]))) → 707_0_LENGTH_STORE(x0[2])
    The graph contains the following edges 1 > 1

  • 627_0_LENGTH_NULL(java.lang.Object(List(x0[1]))) → 627_0_LENGTH_NULL(x0[1])
    The graph contains the following edges 1 > 1

  • 707_0_LENGTH_STORE(x0[0]) → 627_0_LENGTH_NULL(x0[0])
    The graph contains the following edges 1 >= 1

(18) YES

(19) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 422_0_MK_INC(x0[0]) → COND_422_0_MK_INC(x0[0] > 0, x0[0])
(1): COND_422_0_MK_INC(TRUE, x0[1]) → 422_0_MK_INC(x0[1] + -1)

(0) -> (1), if ((x0[0] > 0* TRUE)∧(x0[0]* x0[1]))


(1) -> (0), if ((x0[1] + -1* x0[0]))



The set Q is empty.

(20) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 422_0_MK_INC(x0) → COND_422_0_MK_INC(>(x0, 0), x0) the following chains were created:
  • We consider the chain 422_0_MK_INC(x0[0]) → COND_422_0_MK_INC(>(x0[0], 0), x0[0]), COND_422_0_MK_INC(TRUE, x0[1]) → 422_0_MK_INC(+(x0[1], -1)) which results in the following constraint:

    (1)    (>(x0[0], 0)=TRUEx0[0]=x0[1]422_0_MK_INC(x0[0])≥NonInfC∧422_0_MK_INC(x0[0])≥COND_422_0_MK_INC(>(x0[0], 0), x0[0])∧(UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (>(x0[0], 0)=TRUE422_0_MK_INC(x0[0])≥NonInfC∧422_0_MK_INC(x0[0])≥COND_422_0_MK_INC(>(x0[0], 0), x0[0])∧(UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]x0[0] ≥ 0∧[(-1)bso_9] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]x0[0] ≥ 0∧[(-1)bso_9] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]x0[0] ≥ 0∧[(-1)bso_9] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x0[0] ≥ 0 ⇒ (UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_8 + (2)bni_8] + [(2)bni_8]x0[0] ≥ 0∧[(-1)bso_9] ≥ 0)







For Pair COND_422_0_MK_INC(TRUE, x0) → 422_0_MK_INC(+(x0, -1)) the following chains were created:
  • We consider the chain COND_422_0_MK_INC(TRUE, x0[1]) → 422_0_MK_INC(+(x0[1], -1)) which results in the following constraint:

    (7)    (COND_422_0_MK_INC(TRUE, x0[1])≥NonInfC∧COND_422_0_MK_INC(TRUE, x0[1])≥422_0_MK_INC(+(x0[1], -1))∧(UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥))



    We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (8)    ((UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (9)    ((UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (10)    ((UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (11)    ((UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 422_0_MK_INC(x0) → COND_422_0_MK_INC(>(x0, 0), x0)
    • (x0[0] ≥ 0 ⇒ (UIncreasing(COND_422_0_MK_INC(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_8 + (2)bni_8] + [(2)bni_8]x0[0] ≥ 0∧[(-1)bso_9] ≥ 0)

  • COND_422_0_MK_INC(TRUE, x0) → 422_0_MK_INC(+(x0, -1))
    • ((UIncreasing(422_0_MK_INC(+(x0[1], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(422_0_MK_INC(x1)) = [2]x1   
POL(COND_422_0_MK_INC(x1, x2)) = [2]x2   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(+(x1, x2)) = x1 + x2   
POL(-1) = [-1]   

The following pairs are in P>:

COND_422_0_MK_INC(TRUE, x0[1]) → 422_0_MK_INC(+(x0[1], -1))

The following pairs are in Pbound:

422_0_MK_INC(x0[0]) → COND_422_0_MK_INC(>(x0[0], 0), x0[0])

The following pairs are in P:

422_0_MK_INC(x0[0]) → COND_422_0_MK_INC(>(x0[0], 0), x0[0])

There are no usable rules.

(21) Complex Obligation (AND)

(22) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 422_0_MK_INC(x0[0]) → COND_422_0_MK_INC(x0[0] > 0, x0[0])


The set Q is empty.

(23) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(24) TRUE

(25) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(1): COND_422_0_MK_INC(TRUE, x0[1]) → 422_0_MK_INC(x0[1] + -1)


The set Q is empty.

(26) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(27) TRUE

(28) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
233_0_length_ConstantStackPush(x0) → 627_0_length_NULL(0, x0)
1100_0_test_Load(x0, x1, x2) → 2390_0_test_NULL(x1, x2, x0)
2390_0_test_NULL(x0, x1, NULL) → 2429_0_test_Return
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 2390_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 3158_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
627_0_length_NULL(x0, NULL) → 656_0_length_Return(x0)
627_0_length_NULL(x1, java.lang.Object(List(x0))) → Cond_627_0_length_NULL(x1 >= 0, x1, java.lang.Object(List(x0)))
Cond_627_0_length_NULL(TRUE, x1, java.lang.Object(List(x0))) → 627_0_length_NULL(x1 + 1, x0)
3158_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962) → 2390_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962)

The integer pair graph contains the following rules and edges:
(0): 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(x0[0] > 0, 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])
(1): COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])
(2): 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(x0[2] % 3 = 0), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])
(3): COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])
(4): 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(x0[4] % 5 = 0), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])
(5): COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])
(6): 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])
(7): 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(x4[7] <= x0[7], 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])
(8): COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])
(9): 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])
(10): 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(x4[10] = x0[10]), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])
(11): COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])
(12): 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])
(13): 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])
(14): 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(x4[14] > x0[14], 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])
(15): COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])
(16): 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(0 = x0[16] % 5, 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))
(17): COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])
(18): 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(0 = x0[18] % 3, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])
(19): COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))

(0) -> (1), if ((x0[0] > 0* TRUE)∧(656_0_length_Return(x0[0]) →* 656_0_length_Return(x0[1]))∧(x2[0]* x2[1])∧(x3[0]* x3[1])∧(x1[0]* x1[1]))


(1) -> (2), if ((233_0_length_ConstantStackPush(x3[1]) →* 656_0_length_Return(x0[2]))∧(x2[1]* x1[2])∧(x1[1]* x3[2])∧(x3[1]* x2[2]))


(1) -> (18), if ((233_0_length_ConstantStackPush(x3[1]) →* 656_0_length_Return(x0[18]))∧(x2[1]* x1[18])∧(x1[1]* java.lang.Object(List(x3[18])))∧(x3[1]* x2[18]))


(2) -> (3), if ((!(x0[2] % 3 = 0) →* TRUE)∧(656_0_length_Return(x0[2]) →* 656_0_length_Return(x0[3]))∧(x1[2]* x1[3])∧(x3[2]* x3[3])∧(x2[2]* x2[3]))


(3) -> (4), if ((233_0_length_ConstantStackPush(x3[3]) →* 656_0_length_Return(x0[4]))∧(x1[3]* x1[4])∧(x2[3]* x2[4])∧(x3[3]* x3[4]))


(3) -> (16), if ((233_0_length_ConstantStackPush(x3[3]) →* 656_0_length_Return(x0[16]))∧(x1[3]* x1[16])∧(x2[3]* x2[16])∧(x3[3]* java.lang.Object(List(x3[16]))))


(4) -> (5), if ((!(x0[4] % 5 = 0) →* TRUE)∧(656_0_length_Return(x0[4]) →* 656_0_length_Return(x0[5]))∧(x1[4]* x1[5])∧(x2[4]* x2[5])∧(x3[4]* x3[5]))


(5) -> (6), if ((233_0_length_ConstantStackPush(x1[5]) →* 656_0_length_Return(x0[6]))∧(x2[5]* x2[6])∧(x3[5]* x3[6])∧(x1[5]* x1[6]))


(6) -> (7), if ((233_0_length_ConstantStackPush(x2[6]) →* 656_0_length_Return(x0[7]))∧(x1[6]* x1[7])∧(x3[6]* x3[7])∧(x0[6]* x4[7])∧(x2[6]* x2[7]))


(6) -> (14), if ((233_0_length_ConstantStackPush(x2[6]) →* 656_0_length_Return(x0[14]))∧(x1[6]* java.lang.Object(List(x1[14])))∧(x3[6]* x3[14])∧(x0[6]* x4[14])∧(x2[6]* x2[14]))


(7) -> (8), if ((x4[7] <= x0[7]* TRUE)∧(656_0_length_Return(x0[7]) →* 656_0_length_Return(x0[8]))∧(x1[7]* x1[8])∧(x3[7]* x3[8])∧(x4[7]* x4[8])∧(x2[7]* x2[8]))


(8) -> (9), if ((233_0_length_ConstantStackPush(x1[8]) →* 656_0_length_Return(x0[9]))∧(x2[8]* x2[9])∧(x3[8]* x3[9])∧(x1[8]* x1[9]))


(9) -> (10), if ((233_0_length_ConstantStackPush(x2[9]) →* 656_0_length_Return(x0[10]))∧(x1[9]* x1[10])∧(x3[9]* java.lang.Object(List(x3[10])))∧(x0[9]* x4[10])∧(x2[9]* x2[10]))


(9) -> (13), if ((233_0_length_ConstantStackPush(x2[9]) →* 656_0_length_Return(x0[13]))∧(x1[9]* x1[13])∧(x3[9]* x3[13])∧(x0[9]* x0[13])∧(x2[9]* java.lang.Object(List(x2[13]))))


(10) -> (11), if ((!(x4[10] = x0[10]) →* TRUE)∧(656_0_length_Return(x0[10]) →* 656_0_length_Return(x0[11]))∧(x1[10]* x1[11])∧(java.lang.Object(List(x3[10])) →* java.lang.Object(List(x3[11])))∧(x4[10]* x4[11])∧(x2[10]* x2[11]))


(11) -> (12), if ((1100_0_test_Load(x1[11], x2[11], x3[11]) →* 2429_0_test_Return)∧(x1[11]* x0[12])∧(x2[11]* x1[12])∧(x3[11]* x2[12]))


(12) -> (0), if ((233_0_length_ConstantStackPush(x0[12]) →* 656_0_length_Return(x0[0]))∧(x1[12]* x2[0])∧(x2[12]* x3[0])∧(x0[12]* x1[0]))


(13) -> (12), if ((1100_0_test_Load(x1[13], x2[13], x3[13]) →* 2429_0_test_Return)∧(x1[13]* x0[12])∧(x2[13]* x1[12])∧(x3[13]* x2[12]))


(14) -> (15), if ((x4[14] > x0[14]* TRUE)∧(656_0_length_Return(x0[14]) →* 656_0_length_Return(x0[15]))∧(java.lang.Object(List(x1[14])) →* java.lang.Object(List(x1[15])))∧(x3[14]* x3[15])∧(x4[14]* x4[15])∧(x2[14]* x2[15]))


(15) -> (12), if ((1100_0_test_Load(x1[15], x2[15], x3[15]) →* 2429_0_test_Return)∧(x1[15]* x0[12])∧(x2[15]* x1[12])∧(x3[15]* x2[12]))


(16) -> (17), if ((0 = x0[16] % 5* TRUE)∧(656_0_length_Return(x0[16]) →* 656_0_length_Return(x0[17]))∧(x1[16]* x1[17])∧(x2[16]* x2[17])∧(java.lang.Object(List(x3[16])) →* java.lang.Object(List(x3[17]))))


(17) -> (6), if ((233_0_length_ConstantStackPush(x1[17]) →* 656_0_length_Return(x0[6]))∧(x2[17]* x2[6])∧(x3[17]* x3[6])∧(x1[17]* x1[6]))


(18) -> (19), if ((0 = x0[18] % 3* TRUE)∧(656_0_length_Return(x0[18]) →* 656_0_length_Return(x0[19]))∧(x1[18]* x1[19])∧(java.lang.Object(List(x3[18])) →* java.lang.Object(List(x3[19])))∧(x2[18]* x2[19]))


(19) -> (4), if ((233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))) →* 656_0_length_Return(x0[4]))∧(x1[19]* x1[4])∧(x2[19]* x2[4])∧(java.lang.Object(List(x3[19])) →* x3[4]))


(19) -> (16), if ((233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))) →* 656_0_length_Return(x0[16]))∧(x1[19]* x1[16])∧(x2[19]* x2[16])∧(java.lang.Object(List(x3[19])) →* java.lang.Object(List(x3[16]))))



The set Q consists of the following terms:
233_0_length_ConstantStackPush(x0)
1100_0_test_Load(x0, x1, x2)
2390_0_test_NULL(x0, x1, NULL)
2390_0_test_NULL(x0, x1, java.lang.Object(List(x2)))
627_0_length_NULL(x0, NULL)
627_0_length_NULL(x0, java.lang.Object(List(x1)))
Cond_627_0_length_NULL(TRUE, x0, java.lang.Object(List(x1)))
3158_0_test_NULL(java.lang.Object(List(x0)), java.lang.Object(List(x1)), x2)

(29) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → COND_233_1_MAIN_INVOKEMETHOD(>(x0, 0), 656_0_length_Return(x0), x2, x3, x1) the following chains were created:
  • We consider the chain 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]), COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1]) which results in the following constraint:

    (1)    (>(x0[0], 0)=TRUE656_0_length_Return(x0[0])=656_0_length_Return(x0[1])∧x2[0]=x2[1]x3[0]=x3[1]x1[0]=x1[1]233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])≥NonInfC∧233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])≥COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])∧(UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥))



    We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint:

    (2)    (>(x0[0], 0)=TRUE233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])≥NonInfC∧233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])≥COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])∧(UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥)∧[(-1)bni_123 + (-1)Bound*bni_123] + [bni_123]x1[0] + [bni_123]x3[0] + [bni_123]x2[0] ≥ 0∧[(-1)bso_124] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥)∧[(-1)bni_123 + (-1)Bound*bni_123] + [bni_123]x1[0] + [bni_123]x3[0] + [bni_123]x2[0] ≥ 0∧[(-1)bso_124] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥)∧[(-1)bni_123 + (-1)Bound*bni_123] + [bni_123]x1[0] + [bni_123]x3[0] + [bni_123]x2[0] ≥ 0∧[(-1)bso_124] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥)∧[bni_123] ≥ 0∧[bni_123] ≥ 0∧[bni_123] ≥ 0∧0 ≥ 0∧[(-1)bni_123 + (-1)Bound*bni_123] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_124] ≥ 0)







For Pair COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x2, x3, x1) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3), x2, x1, x3) the following chains were created:
  • We consider the chain 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]), COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1]), 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) which results in the following constraint:

    (7)    (>(x0[0], 0)=TRUE656_0_length_Return(x0[0])=656_0_length_Return(x0[1])∧x2[0]=x2[1]x3[0]=x3[1]x1[0]=x1[1]233_0_length_ConstantStackPush(x3[1])=656_0_length_Return(x0[2])∧x2[1]=x1[2]x1[1]=x3[2]x3[1]=x2[2]COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1])≥NonInfC∧COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1])≥668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])∧(UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥))



    We simplified constraint (7) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (8)    (>(x0[0], 0)=TRUE627_0_length_NULL(0, x3[1])=656_0_length_Return(x0[2]) ⇒ COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[0]), x2[0], x3[1], x1[0])≥NonInfC∧COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[0]), x2[0], x3[1], x1[0])≥668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[0], x1[0], x3[1])∧(UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(-1)bni_125 + (-1)Bound*bni_125] + [bni_125]x1[0] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(-1)bni_125 + (-1)Bound*bni_125] + [bni_125]x1[0] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(-1)bni_125 + (-1)Bound*bni_125] + [bni_125]x1[0] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧0 ≥ 0∧[(-1)bni_125 + (-1)Bound*bni_125] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_126] ≥ 0)



  • We consider the chain 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]), COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1]), 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) which results in the following constraint:

    (13)    (>(x0[0], 0)=TRUE656_0_length_Return(x0[0])=656_0_length_Return(x0[1])∧x2[0]=x2[1]x3[0]=x3[1]x1[0]=x1[1]233_0_length_ConstantStackPush(x3[1])=656_0_length_Return(x0[18])∧x2[1]=x1[18]x1[1]=java.lang.Object(List(x3[18]))∧x3[1]=x2[18]COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1])≥NonInfC∧COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1])≥668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])∧(UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥))



    We simplified constraint (13) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (14)    (>(x0[0], 0)=TRUE627_0_length_NULL(0, x3[1])=656_0_length_Return(x0[18]) ⇒ COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[0]), x2[0], x3[1], java.lang.Object(List(x3[18])))≥NonInfC∧COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[0]), x2[0], x3[1], java.lang.Object(List(x3[18])))≥668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[0], java.lang.Object(List(x3[18])), x3[1])∧(UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(3)bni_125 + (-1)Bound*bni_125] + [(4)bni_125]x3[18] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(3)bni_125 + (-1)Bound*bni_125] + [(4)bni_125]x3[18] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(3)bni_125 + (-1)Bound*bni_125] + [(4)bni_125]x3[18] + [bni_125]x3[1] + [bni_125]x2[0] ≥ 0∧[(-1)bso_126] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(4)bni_125] ≥ 0∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧0 ≥ 0∧[(3)bni_125 + (-1)Bound*bni_125] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_126] ≥ 0)







For Pair 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x2) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0, 3), 0)), 656_0_length_Return(x0), x1, x3, x2) the following chains were created:
  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]), COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3]) which results in the following constraint:

    (19)    (!(=(%(x0[2], 3), 0))=TRUE656_0_length_Return(x0[2])=656_0_length_Return(x0[3])∧x1[2]=x1[3]x3[2]=x3[3]x2[2]=x2[3]668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])≥NonInfC∧668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])≥COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])∧(UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥))



    We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint:

    (20)    (!(=(%(x0[2], 3), 0))=TRUE668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])≥NonInfC∧668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])≥COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])∧(UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥)∧[(-1)bni_127 + (-1)Bound*bni_127] + [bni_127]x2[2] + [bni_127]x3[2] + [bni_127]x1[2] ≥ 0∧[(-1)bso_128] ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥)∧[(-1)bni_127 + (-1)Bound*bni_127] + [bni_127]x2[2] + [bni_127]x3[2] + [bni_127]x1[2] ≥ 0∧[(-1)bso_128] ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥)∧[(-1)bni_127 + (-1)Bound*bni_127] + [bni_127]x2[2] + [bni_127]x3[2] + [bni_127]x1[2] ≥ 0∧[(-1)bso_128] ≥ 0)



    We simplified constraint (23) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥)∧[bni_127] ≥ 0∧[bni_127] ≥ 0∧[bni_127] ≥ 0∧0 ≥ 0∧[(-1)bni_127 + (-1)Bound*bni_127] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_128] ≥ 0)







For Pair COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x3, x2) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3), x1, x2, x3) the following chains were created:
  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]), COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3]), 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) which results in the following constraint:

    (25)    (!(=(%(x0[2], 3), 0))=TRUE656_0_length_Return(x0[2])=656_0_length_Return(x0[3])∧x1[2]=x1[3]x3[2]=x3[3]x2[2]=x2[3]233_0_length_ConstantStackPush(x3[3])=656_0_length_Return(x0[4])∧x1[3]=x1[4]x2[3]=x2[4]x3[3]=x3[4]COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥))



    We simplified constraint (25) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (26)    (!(=(%(x0[2], 3), 0))=TRUE627_0_length_NULL(0, x3[3])=656_0_length_Return(x0[4]) ⇒ COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[2]), x1[2], x3[3], x2[2])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[2]), x1[2], x3[3], x2[2])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[2], x2[2], x3[3])∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(-1)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [bni_129]x3[3] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(-1)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [bni_129]x3[3] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(-1)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [bni_129]x3[3] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (29) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[bni_129] ≥ 0∧[bni_129] ≥ 0∧[bni_129] ≥ 0∧0 ≥ 0∧[(-1)bni_129 + (-1)Bound*bni_129] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_130] ≥ 0)



  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]), COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3]), 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) which results in the following constraint:

    (31)    (!(=(%(x0[2], 3), 0))=TRUE656_0_length_Return(x0[2])=656_0_length_Return(x0[3])∧x1[2]=x1[3]x3[2]=x3[3]x2[2]=x2[3]233_0_length_ConstantStackPush(x3[3])=656_0_length_Return(x0[16])∧x1[3]=x1[16]x2[3]=x2[16]x3[3]=java.lang.Object(List(x3[16])) ⇒ COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥))



    We simplified constraint (31) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (32)    (!(=(%(x0[2], 3), 0))=TRUE627_0_length_NULL(1, x3[16])=656_0_length_Return(x0[16]) ⇒ COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[2]), x1[2], java.lang.Object(List(x3[16])), x2[2])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[2]), x1[2], java.lang.Object(List(x3[16])), x2[2])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[16]))), x1[2], x2[2], java.lang.Object(List(x3[16])))∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(3)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [(4)bni_129]x3[16] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(3)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [(4)bni_129]x3[16] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[(3)bni_129 + (-1)Bound*bni_129] + [bni_129]x2[2] + [(4)bni_129]x3[16] + [bni_129]x1[2] ≥ 0∧[(-1)bso_130] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[bni_129] ≥ 0∧[(4)bni_129] ≥ 0∧[bni_129] ≥ 0∧0 ≥ 0∧[(3)bni_129 + (-1)Bound*bni_129] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_130] ≥ 0)







For Pair 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x2, x3) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0, 5), 0)), 656_0_length_Return(x0), x1, x2, x3) the following chains were created:
  • We consider the chain 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]), COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5]) which results in the following constraint:

    (37)    (!(=(%(x0[4], 5), 0))=TRUE656_0_length_Return(x0[4])=656_0_length_Return(x0[5])∧x1[4]=x1[5]x2[4]=x2[5]x3[4]=x3[5]718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])≥NonInfC∧718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])≥COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])∧(UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥))



    We simplified constraint (37) using rules (I), (II), (IV) which results in the following new constraint:

    (38)    (!(=(%(x0[4], 5), 0))=TRUE718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])≥NonInfC∧718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])≥COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])∧(UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥))



    We simplified constraint (38) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (39)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥)∧[(-1)bni_131 + (-1)Bound*bni_131] + [bni_131]x3[4] + [bni_131]x2[4] + [bni_131]x1[4] ≥ 0∧[(-1)bso_132] ≥ 0)



    We simplified constraint (39) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (40)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥)∧[(-1)bni_131 + (-1)Bound*bni_131] + [bni_131]x3[4] + [bni_131]x2[4] + [bni_131]x1[4] ≥ 0∧[(-1)bso_132] ≥ 0)



    We simplified constraint (40) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (41)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥)∧[(-1)bni_131 + (-1)Bound*bni_131] + [bni_131]x3[4] + [bni_131]x2[4] + [bni_131]x1[4] ≥ 0∧[(-1)bso_132] ≥ 0)



    We simplified constraint (41) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (42)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥)∧[bni_131] ≥ 0∧[bni_131] ≥ 0∧[bni_131] ≥ 0∧0 ≥ 0∧[(-1)bni_131 + (-1)Bound*bni_131] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_132] ≥ 0)







For Pair COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x2, x3) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1) the following chains were created:
  • We consider the chain 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]), COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]) which results in the following constraint:

    (43)    (!(=(%(x0[4], 5), 0))=TRUE656_0_length_Return(x0[4])=656_0_length_Return(x0[5])∧x1[4]=x1[5]x2[4]=x2[5]x3[4]=x3[5]233_0_length_ConstantStackPush(x1[5])=656_0_length_Return(x0[6])∧x2[5]=x2[6]x3[5]=x3[6]x1[5]=x1[6]COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5])≥NonInfC∧COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5])≥775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])∧(UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥))



    We simplified constraint (43) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (44)    (!(=(%(x0[4], 5), 0))=TRUE627_0_length_NULL(0, x1[5])=656_0_length_Return(x0[6]) ⇒ COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[4]), x1[5], x2[4], x3[4])≥NonInfC∧COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[4]), x1[5], x2[4], x3[4])≥775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[4], x3[4], x1[5])∧(UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥))



    We simplified constraint (44) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (45)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥)∧[(-1)bni_133 + (-1)Bound*bni_133] + [bni_133]x3[4] + [bni_133]x2[4] + [bni_133]x1[5] ≥ 0∧[(-1)bso_134] ≥ 0)



    We simplified constraint (45) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (46)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥)∧[(-1)bni_133 + (-1)Bound*bni_133] + [bni_133]x3[4] + [bni_133]x2[4] + [bni_133]x1[5] ≥ 0∧[(-1)bso_134] ≥ 0)



    We simplified constraint (46) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (47)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥)∧[(-1)bni_133 + (-1)Bound*bni_133] + [bni_133]x3[4] + [bni_133]x2[4] + [bni_133]x1[5] ≥ 0∧[(-1)bso_134] ≥ 0)



    We simplified constraint (47) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (48)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥)∧[bni_133] ≥ 0∧[bni_133] ≥ 0∧[bni_133] ≥ 0∧0 ≥ 0∧[(-1)bni_133 + (-1)Bound*bni_133] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_134] ≥ 0)







For Pair 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2), x1, x3, x0, x2) the following chains were created:
  • We consider the chain COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]), 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) which results in the following constraint:

    (49)    (233_0_length_ConstantStackPush(x1[5])=656_0_length_Return(x0[6])∧x2[5]=x2[6]x3[5]=x3[6]x1[5]=x1[6]233_0_length_ConstantStackPush(x2[6])=656_0_length_Return(x0[7])∧x1[6]=x1[7]x3[6]=x3[7]x0[6]=x4[7]x2[6]=x2[7]775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (49) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (50)    (0=x0627_0_length_NULL(x0, x1[5])=656_0_length_Return(x0[6])∧0=x1627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], x1[5])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], x1[5])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[5], x3[5], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (50) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x0, x1[5])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (51)    (656_0_length_Return(x2)=656_0_length_Return(x0[6])∧0=x20=x1627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), NULL, x3[5], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (52)    (Cond_627_0_length_NULL(>=(x4, 0), x4, java.lang.Object(List(x3)))=656_0_length_Return(x0[6])∧0=x40=x1627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x3)), x3[5], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (51) using rules (I), (II), (III) which results in the following new constraint:

    (53)    (0=x1627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[6], x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[6], x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), NULL, x3[5], 0, x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (52) using rule (VII) which results in the following new constraint:

    (54)    (>=(x4, 0)=x10java.lang.Object(List(x3))=x11Cond_627_0_length_NULL(x10, x4, x11)=656_0_length_Return(x0[6])∧0=x40=x1627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x3)), x3[5], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (53) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) which results in the following new constraints:

    (55)    (656_0_length_Return(x5)=656_0_length_Return(x0[7])∧0=x5775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, x3[5], 0, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (56)    (Cond_627_0_length_NULL(>=(x7, 0), x7, java.lang.Object(List(x6)))=656_0_length_Return(x0[7])∧0=x7775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x6)), x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x6)), x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x6))), NULL, x3[5], 0, java.lang.Object(List(x6)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (55) using rules (I), (II), (IV) which results in the following new constraint:

    (57)    (775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, x3[5], 0, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (56) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (58)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x6)))=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x6)), x3[5], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x6)), x3[5], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x6))), NULL, x3[5], 0, java.lang.Object(List(x6)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (57) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (59)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (54) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x1, x2[6])=656_0_length_Return(x0[7]) which results in the following new constraints:

    (60)    (656_0_length_Return(x12)=656_0_length_Return(x0[7])∧>=(x4, 0)=x10java.lang.Object(List(x3))=x11Cond_627_0_length_NULL(x10, x4, x11)=656_0_length_Return(x0[6])∧0=x40=x12775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x3)), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (61)    (Cond_627_0_length_NULL(>=(x14, 0), x14, java.lang.Object(List(x13)))=656_0_length_Return(x0[7])∧>=(x4, 0)=x10java.lang.Object(List(x3))=x11Cond_627_0_length_NULL(x10, x4, x11)=656_0_length_Return(x0[6])∧0=x40=x14775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x13)), x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x13)), x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x13))), java.lang.Object(List(x3)), x3[5], x0[6], java.lang.Object(List(x13)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (60) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (62)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x3)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x3)), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (61) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (63)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x3)))=656_0_length_Return(x0[6])∧Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x13)))=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x13)), x3[5], java.lang.Object(List(x3)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x13)), x3[5], java.lang.Object(List(x3)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x13))), java.lang.Object(List(x3)), x3[5], x0[6], java.lang.Object(List(x13)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (64)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (62) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (65)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (63) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (66)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (67)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (65) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (68)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (64) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (69)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (66) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (70)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (67) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (71)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (68) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (72)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (73)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (70) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (74)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (71) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (75)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (72) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (73) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (77)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (74) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (78)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



  • We consider the chain COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]), 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) which results in the following constraint:

    (79)    (233_0_length_ConstantStackPush(x1[17])=656_0_length_Return(x0[6])∧x2[17]=x2[6]x3[17]=x3[6]x1[17]=x1[6]233_0_length_ConstantStackPush(x2[6])=656_0_length_Return(x0[7])∧x1[6]=x1[7]x3[6]=x3[7]x0[6]=x4[7]x2[6]=x2[7]775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (79) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (80)    (0=x17627_0_length_NULL(x17, x1[17])=656_0_length_Return(x0[6])∧0=x18627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], x1[17])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], x1[17])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[17], x3[17], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (80) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x17, x1[17])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (81)    (656_0_length_Return(x19)=656_0_length_Return(x0[6])∧0=x190=x18627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), NULL, x3[17], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (82)    (Cond_627_0_length_NULL(>=(x21, 0), x21, java.lang.Object(List(x20)))=656_0_length_Return(x0[6])∧0=x210=x18627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x20)), x3[17], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (81) using rules (I), (II), (III) which results in the following new constraint:

    (83)    (0=x18627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[6], x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[6], x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), NULL, x3[17], 0, x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (82) using rule (VII) which results in the following new constraint:

    (84)    (>=(x21, 0)=x27java.lang.Object(List(x20))=x28Cond_627_0_length_NULL(x27, x21, x28)=656_0_length_Return(x0[6])∧0=x210=x18627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x20)), x3[17], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (83) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) which results in the following new constraints:

    (85)    (656_0_length_Return(x22)=656_0_length_Return(x0[7])∧0=x22775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, x3[17], 0, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (86)    (Cond_627_0_length_NULL(>=(x24, 0), x24, java.lang.Object(List(x23)))=656_0_length_Return(x0[7])∧0=x24775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x23)), x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x23)), x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x23))), NULL, x3[17], 0, java.lang.Object(List(x23)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (85) using rules (I), (II), (IV) which results in the following new constraint:

    (87)    (775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, x3[17], 0, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (86) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (88)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x23)))=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x23)), x3[17], NULL)≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x23)), x3[17], NULL)≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x23))), NULL, x3[17], 0, java.lang.Object(List(x23)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (89)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (84) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x18, x2[6])=656_0_length_Return(x0[7]) which results in the following new constraints:

    (90)    (656_0_length_Return(x29)=656_0_length_Return(x0[7])∧>=(x21, 0)=x27java.lang.Object(List(x20))=x28Cond_627_0_length_NULL(x27, x21, x28)=656_0_length_Return(x0[6])∧0=x210=x29775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x20)), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (91)    (Cond_627_0_length_NULL(>=(x31, 0), x31, java.lang.Object(List(x30)))=656_0_length_Return(x0[7])∧>=(x21, 0)=x27java.lang.Object(List(x20))=x28Cond_627_0_length_NULL(x27, x21, x28)=656_0_length_Return(x0[6])∧0=x210=x31775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x30)), x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x30)), x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x30))), java.lang.Object(List(x20)), x3[17], x0[6], java.lang.Object(List(x30)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (90) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (92)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x20)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x20)), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (91) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (93)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x20)))=656_0_length_Return(x0[6])∧Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x30)))=656_0_length_Return(x0[7]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x30)), x3[17], java.lang.Object(List(x20)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x30)), x3[17], java.lang.Object(List(x20)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x30))), java.lang.Object(List(x20)), x3[17], x0[6], java.lang.Object(List(x30)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (88) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (94)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (95)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (93) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (96)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (89) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (97)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (95) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (98)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (94) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (99)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (96) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (100)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (97) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (101)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (98) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (102)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (99) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (103)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (104)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (105)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (102) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (106)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (103) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (107)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (104) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (108)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



  • We consider the chain COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]), 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) which results in the following constraint:

    (109)    (233_0_length_ConstantStackPush(x1[5])=656_0_length_Return(x0[6])∧x2[5]=x2[6]x3[5]=x3[6]x1[5]=x1[6]233_0_length_ConstantStackPush(x2[6])=656_0_length_Return(x0[14])∧x1[6]=java.lang.Object(List(x1[14]))∧x3[6]=x3[14]x0[6]=x4[14]x2[6]=x2[14]775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (109) using rules (III), (IV), (VII), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (110)    (0=x34627_0_length_NULL(x34, x2[6])=656_0_length_Return(x0[14])∧1=x35627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[5], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x1[14])), x3[5], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (110) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x34, x2[6])=656_0_length_Return(x0[14]) which results in the following new constraints:

    (111)    (656_0_length_Return(x36)=656_0_length_Return(x0[14])∧0=x361=x35627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x1[14])), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (112)    (Cond_627_0_length_NULL(>=(x38, 0), x38, java.lang.Object(List(x37)))=656_0_length_Return(x0[14])∧0=x381=x35627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(x1[14])), x3[5], x0[6], java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (111) using rules (I), (II), (IV) which results in the following new constraint:

    (113)    (1=x35627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x1[14])), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (112) using rule (VII) which results in the following new constraint:

    (114)    (>=(x38, 0)=x44java.lang.Object(List(x37))=x45Cond_627_0_length_NULL(x44, x38, x45)=656_0_length_Return(x0[14])∧0=x381=x35627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(x1[14])), x3[5], x0[6], java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (113) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (115)    (656_0_length_Return(x39)=656_0_length_Return(x0[6])∧1=x39775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(NULL)), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (116)    (Cond_627_0_length_NULL(>=(x41, 0), x41, java.lang.Object(List(x40)))=656_0_length_Return(x0[6])∧1=x41775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(java.lang.Object(List(x40)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(java.lang.Object(List(x40)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(java.lang.Object(List(x40)))), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (115) using rules (I), (II), (III) which results in the following new constraint:

    (117)    (775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), NULL, x3[5], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), NULL, x3[5], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(NULL)), x3[5], 1, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (116) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (118)    (Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x40)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(java.lang.Object(List(x40)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[5], java.lang.Object(List(java.lang.Object(List(x40)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(java.lang.Object(List(x40)))), x3[5], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (117) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (119)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (114) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x35, x1[14])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (120)    (656_0_length_Return(x46)=656_0_length_Return(x0[6])∧>=(x38, 0)=x44java.lang.Object(List(x37))=x45Cond_627_0_length_NULL(x44, x38, x45)=656_0_length_Return(x0[14])∧0=x381=x46775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(NULL)), x3[5], x0[6], java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (121)    (Cond_627_0_length_NULL(>=(x48, 0), x48, java.lang.Object(List(x47)))=656_0_length_Return(x0[6])∧>=(x38, 0)=x44java.lang.Object(List(x37))=x45Cond_627_0_length_NULL(x44, x38, x45)=656_0_length_Return(x0[14])∧0=x381=x48775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(java.lang.Object(List(x47)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(java.lang.Object(List(x47)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(java.lang.Object(List(x47)))), x3[5], x0[6], java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (120) using rules (I), (II), (III), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (122)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x37)))=656_0_length_Return(x0[14]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(NULL)), x3[5], 1, java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (121) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (123)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x37)))=656_0_length_Return(x0[14])∧Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x47)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(java.lang.Object(List(x47)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x37)), x3[5], java.lang.Object(List(java.lang.Object(List(x47)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x37))), java.lang.Object(List(java.lang.Object(List(x47)))), x3[5], x0[6], java.lang.Object(List(x37)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (118) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (124)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (122) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (125)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (123) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (126)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (119) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (127)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (125) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (128)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (124) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (129)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (126) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (130)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (127) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (131)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (128) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (132)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (129) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (133)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (130) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (134)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (131) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (135)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (132) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (136)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (133) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (137)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (134) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (138)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



  • We consider the chain COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]), 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) which results in the following constraint:

    (139)    (233_0_length_ConstantStackPush(x1[17])=656_0_length_Return(x0[6])∧x2[17]=x2[6]x3[17]=x3[6]x1[17]=x1[6]233_0_length_ConstantStackPush(x2[6])=656_0_length_Return(x0[14])∧x1[6]=java.lang.Object(List(x1[14]))∧x3[6]=x3[14]x0[6]=x4[14]x2[6]=x2[14]775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6])≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (139) using rules (III), (IV), (VII), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (140)    (0=x51627_0_length_NULL(x51, x2[6])=656_0_length_Return(x0[14])∧1=x52627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[17], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), java.lang.Object(List(x1[14])), x3[17], x0[6], x2[6])∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (140) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x51, x2[6])=656_0_length_Return(x0[14]) which results in the following new constraints:

    (141)    (656_0_length_Return(x53)=656_0_length_Return(x0[14])∧0=x531=x52627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x1[14])), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (142)    (Cond_627_0_length_NULL(>=(x55, 0), x55, java.lang.Object(List(x54)))=656_0_length_Return(x0[14])∧0=x551=x52627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(x1[14])), x3[17], x0[6], java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (141) using rules (I), (II), (IV) which results in the following new constraint:

    (143)    (1=x52627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x1[14])), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (142) using rule (VII) which results in the following new constraint:

    (144)    (>=(x55, 0)=x61java.lang.Object(List(x54))=x62Cond_627_0_length_NULL(x61, x55, x62)=656_0_length_Return(x0[14])∧0=x551=x52627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(x1[14])))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(x1[14])))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(x1[14])), x3[17], x0[6], java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (143) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (145)    (656_0_length_Return(x56)=656_0_length_Return(x0[6])∧1=x56775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(NULL)), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (146)    (Cond_627_0_length_NULL(>=(x58, 0), x58, java.lang.Object(List(x57)))=656_0_length_Return(x0[6])∧1=x58775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(java.lang.Object(List(x57)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(java.lang.Object(List(x57)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(java.lang.Object(List(x57)))), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (145) using rules (I), (II), (III) which results in the following new constraint:

    (147)    (775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), NULL, x3[17], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), NULL, x3[17], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(NULL)), x3[17], 1, NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (146) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (148)    (Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x57)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(java.lang.Object(List(x57)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), NULL, x3[17], java.lang.Object(List(java.lang.Object(List(x57)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(java.lang.Object(List(x57)))), x3[17], x0[6], NULL)∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (147) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (149)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (144) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x52, x1[14])=656_0_length_Return(x0[6]) which results in the following new constraints:

    (150)    (656_0_length_Return(x63)=656_0_length_Return(x0[6])∧>=(x55, 0)=x61java.lang.Object(List(x54))=x62Cond_627_0_length_NULL(x61, x55, x62)=656_0_length_Return(x0[14])∧0=x551=x63775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(NULL)), x3[17], x0[6], java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))


    (151)    (Cond_627_0_length_NULL(>=(x65, 0), x65, java.lang.Object(List(x64)))=656_0_length_Return(x0[6])∧>=(x55, 0)=x61java.lang.Object(List(x54))=x62Cond_627_0_length_NULL(x61, x55, x62)=656_0_length_Return(x0[14])∧0=x551=x65775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(java.lang.Object(List(x64)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(java.lang.Object(List(x64)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(java.lang.Object(List(x64)))), x3[17], x0[6], java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (150) using rules (I), (II), (III), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (152)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x54)))=656_0_length_Return(x0[14]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(NULL)))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(NULL)))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(NULL)), x3[17], 1, java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (151) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (153)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x54)))=656_0_length_Return(x0[14])∧Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x64)))=656_0_length_Return(x0[6]) ⇒ 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(java.lang.Object(List(x64)))))≥NonInfC∧775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), java.lang.Object(List(x54)), x3[17], java.lang.Object(List(java.lang.Object(List(x64)))))≥807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x54))), java.lang.Object(List(java.lang.Object(List(x64)))), x3[17], x0[6], java.lang.Object(List(x54)))∧(UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥))



    We simplified constraint (148) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (154)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (152) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (155)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (153) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (156)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (149) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (157)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (155) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (158)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (154) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (159)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (156) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (160)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (157) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (161)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧[(-1)bso_136] ≥ 0)



    We simplified constraint (158) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (162)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (159) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (163)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (160) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (164)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (161) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (165)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (162) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (166)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (163) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (167)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)



    We simplified constraint (164) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (168)    ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)







For Pair 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x4, x2) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4, x0), 656_0_length_Return(x0), x1, x3, x4, x2) the following chains were created:
  • We consider the chain 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]), COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8]) which results in the following constraint:

    (169)    (<=(x4[7], x0[7])=TRUE656_0_length_Return(x0[7])=656_0_length_Return(x0[8])∧x1[7]=x1[8]x3[7]=x3[8]x4[7]=x4[8]x2[7]=x2[8]807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])≥NonInfC∧807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])≥COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])∧(UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥))



    We simplified constraint (169) using rules (I), (II), (IV) which results in the following new constraint:

    (170)    (<=(x4[7], x0[7])=TRUE807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])≥NonInfC∧807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])≥COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])∧(UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥))



    We simplified constraint (170) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (171)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥)∧[(-1)bni_137 + (-1)Bound*bni_137] + [bni_137]x2[7] + [bni_137]x3[7] + [bni_137]x1[7] ≥ 0∧[(-1)bso_138] ≥ 0)



    We simplified constraint (171) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (172)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥)∧[(-1)bni_137 + (-1)Bound*bni_137] + [bni_137]x2[7] + [bni_137]x3[7] + [bni_137]x1[7] ≥ 0∧[(-1)bso_138] ≥ 0)



    We simplified constraint (172) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (173)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥)∧[(-1)bni_137 + (-1)Bound*bni_137] + [bni_137]x2[7] + [bni_137]x3[7] + [bni_137]x1[7] ≥ 0∧[(-1)bso_138] ≥ 0)



    We simplified constraint (173) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (174)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥)∧[bni_137] ≥ 0∧0 ≥ 0∧[bni_137] ≥ 0∧[bni_137] ≥ 0∧0 ≥ 0∧[(-1)bni_137 + (-1)Bound*bni_137] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_138] ≥ 0)







For Pair COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x3, x4, x2) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1) the following chains were created:
  • We consider the chain 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]), COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8]), 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9]) which results in the following constraint:

    (175)    (<=(x4[7], x0[7])=TRUE656_0_length_Return(x0[7])=656_0_length_Return(x0[8])∧x1[7]=x1[8]x3[7]=x3[8]x4[7]=x4[8]x2[7]=x2[8]233_0_length_ConstantStackPush(x1[8])=656_0_length_Return(x0[9])∧x2[8]=x2[9]x3[8]=x3[9]x1[8]=x1[9]COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))



    We simplified constraint (175) using rules (I), (II), (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (176)    (<=(x4[7], x0[7])=TRUE0=x68627_0_length_NULL(x68, x1[8])=656_0_length_Return(x0[9]) ⇒ COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), x1[8], x3[7], x4[7], x2[7])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), x1[8], x3[7], x4[7], x2[7])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[7], x3[7], x1[8])∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))



    We simplified constraint (176) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x68, x1[8])=656_0_length_Return(x0[9]) which results in the following new constraints:

    (177)    (656_0_length_Return(x69)=656_0_length_Return(x0[9])∧<=(x4[7], x0[7])=TRUE0=x69COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), NULL, x3[7], x4[7], x2[7])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), NULL, x3[7], x4[7], x2[7])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x2[7], x3[7], NULL)∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))


    (178)    (Cond_627_0_length_NULL(>=(x71, 0), x71, java.lang.Object(List(x70)))=656_0_length_Return(x0[9])∧<=(x4[7], x0[7])=TRUE0=x71COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), java.lang.Object(List(x70)), x3[7], x4[7], x2[7])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), java.lang.Object(List(x70)), x3[7], x4[7], x2[7])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x70))), x2[7], x3[7], java.lang.Object(List(x70)))∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))



    We simplified constraint (177) using rules (I), (II), (IV) which results in the following new constraint:

    (179)    (<=(x4[7], x0[7])=TRUECOND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), NULL, x3[7], x4[7], x2[7])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), NULL, x3[7], x4[7], x2[7])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x2[7], x3[7], NULL)∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))



    We simplified constraint (178) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (180)    (<=(x4[7], x0[7])=TRUECond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x70)))=656_0_length_Return(x0[9]) ⇒ COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), java.lang.Object(List(x70)), x3[7], x4[7], x2[7])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[7]), java.lang.Object(List(x70)), x3[7], x4[7], x2[7])≥867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x70))), x2[7], x3[7], java.lang.Object(List(x70)))∧(UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥))



    We simplified constraint (179) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (181)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(-1)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (180) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (182)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(3)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] + [(4)bni_139]x70 ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (181) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (183)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(-1)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (182) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (184)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(3)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] + [(4)bni_139]x70 ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (183) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (185)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(-1)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (184) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (186)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[(3)bni_139 + (-1)Bound*bni_139] + [bni_139]x2[7] + [bni_139]x3[7] + [(4)bni_139]x70 ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (185) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (187)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[bni_139] ≥ 0∧0 ≥ 0∧[bni_139] ≥ 0∧0 ≥ 0∧[(-1)bni_139 + (-1)Bound*bni_139] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_140] ≥ 0)



    We simplified constraint (186) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (188)    (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[bni_139] ≥ 0∧0 ≥ 0∧[bni_139] ≥ 0∧[(4)bni_139] ≥ 0∧0 ≥ 0∧[(3)bni_139 + (-1)Bound*bni_139] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_140] ≥ 0)







For Pair 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2), x1, x3, x0, x2) the following chains were created:
  • We consider the chain COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8]), 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9]), 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) which results in the following constraint:

    (189)    (233_0_length_ConstantStackPush(x1[8])=656_0_length_Return(x0[9])∧x2[8]=x2[9]x3[8]=x3[9]x1[8]=x1[9]233_0_length_ConstantStackPush(x2[9])=656_0_length_Return(x0[10])∧x1[9]=x1[10]x3[9]=java.lang.Object(List(x3[10]))∧x0[9]=x4[10]x2[9]=x2[10]867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9])≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9])≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (189) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (190)    (0=x74627_0_length_NULL(x74, x1[8])=656_0_length_Return(x0[9])∧0=x75627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), x1[8])≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), x1[8])≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[8], java.lang.Object(List(x3[10])), x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (190) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x74, x1[8])=656_0_length_Return(x0[9]) which results in the following new constraints:

    (191)    (656_0_length_Return(x76)=656_0_length_Return(x0[9])∧0=x760=x75627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), NULL, java.lang.Object(List(x3[10])), x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (192)    (Cond_627_0_length_NULL(>=(x78, 0), x78, java.lang.Object(List(x77)))=656_0_length_Return(x0[9])∧0=x780=x75627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (191) using rules (I), (II), (III) which results in the following new constraint:

    (193)    (0=x75627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[9], java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), x2[9], java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), NULL, java.lang.Object(List(x3[10])), 0, x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (192) using rule (VII) which results in the following new constraint:

    (194)    (>=(x78, 0)=x84java.lang.Object(List(x77))=x85Cond_627_0_length_NULL(x84, x78, x85)=656_0_length_Return(x0[9])∧0=x780=x75627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (193) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) which results in the following new constraints:

    (195)    (656_0_length_Return(x79)=656_0_length_Return(x0[10])∧0=x79867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, java.lang.Object(List(x3[10])), 0, NULL)∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (196)    (Cond_627_0_length_NULL(>=(x81, 0), x81, java.lang.Object(List(x80)))=656_0_length_Return(x0[10])∧0=x81867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x80)), java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x80)), java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x80))), NULL, java.lang.Object(List(x3[10])), 0, java.lang.Object(List(x80)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (195) using rules (I), (II), (IV) which results in the following new constraint:

    (197)    (867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), NULL, java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), NULL, java.lang.Object(List(x3[10])), 0, NULL)∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (196) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (198)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x80)))=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x80)), java.lang.Object(List(x3[10])), NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x80)), java.lang.Object(List(x3[10])), NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x80))), NULL, java.lang.Object(List(x3[10])), 0, java.lang.Object(List(x80)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (197) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (199)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧[(-1)bso_142] ≥ 0)



    We simplified constraint (194) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x75, x2[9])=656_0_length_Return(x0[10]) which results in the following new constraints:

    (200)    (656_0_length_Return(x86)=656_0_length_Return(x0[10])∧>=(x78, 0)=x84java.lang.Object(List(x77))=x85Cond_627_0_length_NULL(x84, x78, x85)=656_0_length_Return(x0[9])∧0=x780=x86867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), NULL, java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), NULL, java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], NULL)∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (201)    (Cond_627_0_length_NULL(>=(x88, 0), x88, java.lang.Object(List(x87)))=656_0_length_Return(x0[10])∧>=(x78, 0)=x84java.lang.Object(List(x77))=x85Cond_627_0_length_NULL(x84, x78, x85)=656_0_length_Return(x0[9])∧0=x780=x88867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x87)), java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x87)), java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x87))), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], java.lang.Object(List(x87)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (200) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (202)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x77)))=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), NULL, java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), NULL, java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], NULL)∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (201) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (203)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x77)))=656_0_length_Return(x0[9])∧Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x87)))=656_0_length_Return(x0[10]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x87)), java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x87)), java.lang.Object(List(x3[10])), java.lang.Object(List(x77)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x87))), java.lang.Object(List(x77)), java.lang.Object(List(x3[10])), x0[9], java.lang.Object(List(x87)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (198) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (204)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (202) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (205)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (203) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (206)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (199) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (207)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧[(-1)bso_142] ≥ 0)



    We simplified constraint (205) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (208)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (204) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (209)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (206) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (210)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (207) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (211)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧[(-1)bso_142] ≥ 0)



    We simplified constraint (208) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (212)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (209) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (213)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (210) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (214)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (211) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (215)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (212) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (216)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (213) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (217)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (214) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (218)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



  • We consider the chain COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8]), 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9]), 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13]) which results in the following constraint:

    (219)    (233_0_length_ConstantStackPush(x1[8])=656_0_length_Return(x0[9])∧x2[8]=x2[9]x3[8]=x3[9]x1[8]=x1[9]233_0_length_ConstantStackPush(x2[9])=656_0_length_Return(x0[13])∧x1[9]=x1[13]x3[9]=x3[13]x0[9]=x0[13]x2[9]=java.lang.Object(List(x2[13])) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9])≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9])≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (219) using rules (III), (IV), (VII), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (220)    (0=x91627_0_length_NULL(x91, x1[8])=656_0_length_Return(x0[9])∧1=x92627_0_length_NULL(x92, x2[13])=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], x1[8])≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], x1[8])≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x2[13]))), x1[8], x3[8], x0[9], java.lang.Object(List(x2[13])))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (220) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x91, x1[8])=656_0_length_Return(x0[9]) which results in the following new constraints:

    (221)    (656_0_length_Return(x93)=656_0_length_Return(x0[9])∧0=x931=x92627_0_length_NULL(x92, x2[13])=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x2[13]))), NULL, x3[8], x0[9], java.lang.Object(List(x2[13])))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (222)    (Cond_627_0_length_NULL(>=(x95, 0), x95, java.lang.Object(List(x94)))=656_0_length_Return(x0[9])∧0=x951=x92627_0_length_NULL(x92, x2[13])=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x2[13]))), java.lang.Object(List(x94)), x3[8], x0[9], java.lang.Object(List(x2[13])))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (221) using rules (I), (II), (III) which results in the following new constraint:

    (223)    (1=x92627_0_length_NULL(x92, x2[13])=656_0_length_Return(0) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x2[13])), x3[8], NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(x2[13])), x3[8], NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x2[13]))), NULL, x3[8], 0, java.lang.Object(List(x2[13])))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (222) using rule (VII) which results in the following new constraint:

    (224)    (>=(x95, 0)=x101java.lang.Object(List(x94))=x102Cond_627_0_length_NULL(x101, x95, x102)=656_0_length_Return(x0[9])∧0=x951=x92627_0_length_NULL(x92, x2[13])=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(x2[13])), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x2[13]))), java.lang.Object(List(x94)), x3[8], x0[9], java.lang.Object(List(x2[13])))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (223) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x92, x2[13])=656_0_length_Return(0) which results in the following new constraints:

    (225)    (656_0_length_Return(x96)=656_0_length_Return(0)∧1=x96867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(NULL)), x3[8], NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(NULL)), x3[8], NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(NULL))), NULL, x3[8], 0, java.lang.Object(List(NULL)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (226)    (Cond_627_0_length_NULL(>=(x98, 0), x98, java.lang.Object(List(x97)))=656_0_length_Return(0)∧1=x98867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(java.lang.Object(List(x97)))), x3[8], NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(java.lang.Object(List(x97)))), x3[8], NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(java.lang.Object(List(x97))))), NULL, x3[8], 0, java.lang.Object(List(java.lang.Object(List(x97)))))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We solved constraint (225) using rules (I), (II), (III).We simplified constraint (226) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (227)    (Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x97)))=656_0_length_Return(0) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(java.lang.Object(List(x97)))), x3[8], NULL)≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(0), java.lang.Object(List(java.lang.Object(List(x97)))), x3[8], NULL)≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(java.lang.Object(List(x97))))), NULL, x3[8], 0, java.lang.Object(List(java.lang.Object(List(x97)))))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (224) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x92, x2[13])=656_0_length_Return(x0[9]) which results in the following new constraints:

    (228)    (656_0_length_Return(x103)=656_0_length_Return(x0[9])∧>=(x95, 0)=x101java.lang.Object(List(x94))=x102Cond_627_0_length_NULL(x101, x95, x102)=656_0_length_Return(x0[9])∧0=x951=x103867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(NULL)), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(NULL)), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(NULL))), java.lang.Object(List(x94)), x3[8], x0[9], java.lang.Object(List(NULL)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))


    (229)    (Cond_627_0_length_NULL(>=(x105, 0), x105, java.lang.Object(List(x104)))=656_0_length_Return(x0[9])∧>=(x95, 0)=x101java.lang.Object(List(x94))=x102Cond_627_0_length_NULL(x101, x95, x102)=656_0_length_Return(x0[9])∧0=x951=x105867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(java.lang.Object(List(x104)))), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(java.lang.Object(List(x104)))), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(java.lang.Object(List(x104))))), java.lang.Object(List(x94)), x3[8], x0[9], java.lang.Object(List(java.lang.Object(List(x104)))))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (228) using rules (I), (II), (III), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (230)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x94)))=656_0_length_Return(1) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(NULL)), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), java.lang.Object(List(NULL)), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(NULL))), java.lang.Object(List(x94)), x3[8], 1, java.lang.Object(List(NULL)))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (229) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (231)    (Cond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x94)))=656_0_length_Return(x0[9])∧Cond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x104)))=656_0_length_Return(x0[9]) ⇒ 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(java.lang.Object(List(x104)))), x3[8], java.lang.Object(List(x94)))≥NonInfC∧867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), java.lang.Object(List(java.lang.Object(List(x104)))), x3[8], java.lang.Object(List(x94)))≥908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(java.lang.Object(List(x104))))), java.lang.Object(List(x94)), x3[8], x0[9], java.lang.Object(List(java.lang.Object(List(x104)))))∧(UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥))



    We simplified constraint (227) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (232)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (230) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (233)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (231) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (234)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (233) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (235)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (232) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (236)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (234) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (237)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (235) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (238)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (236) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (239)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (237) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (240)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (238) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (241)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (239) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (242)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)



    We simplified constraint (240) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (243)    ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)







For Pair 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4, x0)), 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2) the following chains were created:
  • We consider the chain 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]), COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11]) which results in the following constraint:

    (244)    (!(=(x4[10], x0[10]))=TRUE656_0_length_Return(x0[10])=656_0_length_Return(x0[11])∧x1[10]=x1[11]java.lang.Object(List(x3[10]))=java.lang.Object(List(x3[11]))∧x4[10]=x4[11]x2[10]=x2[11]908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])≥COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])∧(UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥))



    We simplified constraint (244) using rules (I), (II), (IV) which results in the following new constraint:

    (245)    (!(=(x4[10], x0[10]))=TRUE908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])≥COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])∧(UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥))



    We simplified constraint (245) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (246)    (0 ≥ 0 ⇒ (UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥)∧[(3)bni_143 + (-1)Bound*bni_143] + [bni_143]x2[10] + [(4)bni_143]x3[10] + [bni_143]x1[10] ≥ 0∧[(-1)bso_144] ≥ 0)



    We simplified constraint (246) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (247)    (0 ≥ 0 ⇒ (UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥)∧[(3)bni_143 + (-1)Bound*bni_143] + [bni_143]x2[10] + [(4)bni_143]x3[10] + [bni_143]x1[10] ≥ 0∧[(-1)bso_144] ≥ 0)



    We simplified constraint (247) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (248)    (0 ≥ 0 ⇒ (UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥)∧[(3)bni_143 + (-1)Bound*bni_143] + [bni_143]x2[10] + [(4)bni_143]x3[10] + [bni_143]x1[10] ≥ 0∧[(-1)bso_144] ≥ 0)



    We simplified constraint (248) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (249)    (0 ≥ 0 ⇒ (UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥)∧[bni_143] ≥ 0∧0 ≥ 0∧[(4)bni_143] ≥ 0∧[bni_143] ≥ 0∧0 ≥ 0∧[(3)bni_143 + (-1)Bound*bni_143] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_144] ≥ 0)







For Pair COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3) the following chains were created:
  • We consider the chain 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]), COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]) which results in the following constraint:

    (250)    (!(=(x4[10], x0[10]))=TRUE656_0_length_Return(x0[10])=656_0_length_Return(x0[11])∧x1[10]=x1[11]java.lang.Object(List(x3[10]))=java.lang.Object(List(x3[11]))∧x4[10]=x4[11]x2[10]=x2[11]1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_Returnx1[11]=x0[12]x2[11]=x1[12]x3[11]=x2[12]COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11])≥NonInfC∧COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11])≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥))



    We simplified constraint (250) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (251)    (!(=(x4[10], x0[10]))=TRUE1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_ReturnCOND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[10]), x1[11], java.lang.Object(List(x3[11])), x4[10], x2[11])≥NonInfC∧COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[10]), x1[11], java.lang.Object(List(x3[11])), x4[10], x2[11])≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥))



    We simplified constraint (251) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_Return which results in the following new constraint:

    (252)    (2390_0_test_NULL(x109, x108, x110)=2429_0_test_Return!(=(x4[10], x0[10]))=TRUECOND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[10]), x110, java.lang.Object(List(x108)), x4[10], x109)≥NonInfC∧COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[10]), x110, java.lang.Object(List(x108)), x4[10], x109)≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x110, x109, x108), x110, x109, x108)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥))



    We simplified constraint (252) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (253)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥)∧[(3)bni_145 + (-1)Bound*bni_145] + [bni_145]x109 + [(4)bni_145]x108 + [bni_145]x110 ≥ 0∧[1 + (-1)bso_146] + [3]x108 ≥ 0)



    We simplified constraint (253) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (254)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥)∧[(3)bni_145 + (-1)Bound*bni_145] + [bni_145]x109 + [(4)bni_145]x108 + [bni_145]x110 ≥ 0∧[1 + (-1)bso_146] + [3]x108 ≥ 0)



    We simplified constraint (254) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (255)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥)∧[(3)bni_145 + (-1)Bound*bni_145] + [bni_145]x109 + [(4)bni_145]x108 + [bni_145]x110 ≥ 0∧[1 + (-1)bso_146] + [3]x108 ≥ 0)



    We simplified constraint (255) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (256)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥)∧[bni_145] ≥ 0∧0 ≥ 0∧[(4)bni_145] ≥ 0∧[bni_145] ≥ 0∧0 ≥ 0∧[(3)bni_145 + (-1)Bound*bni_145] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_146] ≥ 0∧[1] ≥ 0)







For Pair 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0, x1, x2) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0), x1, x2, x0) the following chains were created:
  • We consider the chain COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]), 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) which results in the following constraint:

    (257)    (1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_Returnx1[11]=x0[12]x2[11]=x1[12]x3[11]=x2[12]233_0_length_ConstantStackPush(x0[12])=656_0_length_Return(x0[0])∧x1[12]=x2[0]x2[12]=x3[0]x0[12]=x1[0]1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (257) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (258)    (1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_Return0=x111627_0_length_NULL(x111, x1[11])=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[11], x2[11], x3[11])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[11], x2[11], x3[11])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[11]), x2[11], x3[11], x1[11])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (258) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[11], x2[11], x3[11])=2429_0_test_Return which results in the following new constraint:

    (259)    (2390_0_test_NULL(x113, x112, x114)=2429_0_test_Return0=x111627_0_length_NULL(x111, x114)=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x114, x113, x112)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x114, x113, x112)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x114), x113, x112, x114)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (259) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x111, x114)=656_0_length_Return(x0[0]) which results in the following new constraints:

    (260)    (656_0_length_Return(x115)=656_0_length_Return(x0[0])∧2390_0_test_NULL(x113, x112, NULL)=2429_0_test_Return0=x1151100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x113, x112)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x113, x112)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x113, x112, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))


    (261)    (Cond_627_0_length_NULL(>=(x117, 0), x117, java.lang.Object(List(x116)))=656_0_length_Return(x0[0])∧2390_0_test_NULL(x113, x112, java.lang.Object(List(x116)))=2429_0_test_Return0=x1171100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x116)), x113, x112)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x116)), x113, x112)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x116))), x113, x112, java.lang.Object(List(x116)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (260) using rules (I), (II), (IV), (REWRITING) which results in the following new constraint:

    (262)    (1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x113, x112)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x113, x112)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x113, x112, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (261) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (263)    (2390_0_test_NULL(x113, x112, java.lang.Object(List(x116)))=2429_0_test_ReturnCond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x116)))=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x116)), x113, x112)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x116)), x113, x112)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x116))), x113, x112, java.lang.Object(List(x116)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (262) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (264)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (263) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (265)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (264) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (266)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (265) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (267)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (266) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (268)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (267) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (269)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (268) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (270)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (269) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (271)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



  • We consider the chain 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]), 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) which results in the following constraint:

    (272)    (1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Returnx1[13]=x0[12]x2[13]=x1[12]x3[13]=x2[12]233_0_length_ConstantStackPush(x0[12])=656_0_length_Return(x0[0])∧x1[12]=x2[0]x2[12]=x3[0]x0[12]=x1[0]1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (272) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (273)    (1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Return0=x120627_0_length_NULL(x120, x1[13])=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[13], x2[13], x3[13])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[13], x2[13], x3[13])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[13]), x2[13], x3[13], x1[13])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (273) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Return which results in the following new constraint:

    (274)    (2390_0_test_NULL(x122, x121, x123)=2429_0_test_Return0=x120627_0_length_NULL(x120, x123)=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x123, x122, x121)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x123, x122, x121)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x123), x122, x121, x123)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (274) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x120, x123)=656_0_length_Return(x0[0]) which results in the following new constraints:

    (275)    (656_0_length_Return(x124)=656_0_length_Return(x0[0])∧2390_0_test_NULL(x122, x121, NULL)=2429_0_test_Return0=x1241100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x122, x121)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x122, x121)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x122, x121, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))


    (276)    (Cond_627_0_length_NULL(>=(x126, 0), x126, java.lang.Object(List(x125)))=656_0_length_Return(x0[0])∧2390_0_test_NULL(x122, x121, java.lang.Object(List(x125)))=2429_0_test_Return0=x1261100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x125)), x122, x121)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x125)), x122, x121)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x125))), x122, x121, java.lang.Object(List(x125)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (275) using rules (I), (II), (IV), (REWRITING) which results in the following new constraint:

    (277)    (1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x122, x121)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x122, x121)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x122, x121, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (276) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (278)    (2390_0_test_NULL(x122, x121, java.lang.Object(List(x125)))=2429_0_test_ReturnCond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x125)))=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x125)), x122, x121)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x125)), x122, x121)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x125))), x122, x121, java.lang.Object(List(x125)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (277) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (279)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (278) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (280)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (279) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (281)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (280) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (282)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (281) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (283)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (282) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (284)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (283) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (285)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (284) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (286)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



  • We consider the chain COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]), 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) which results in the following constraint:

    (287)    (1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_Returnx1[15]=x0[12]x2[15]=x1[12]x3[15]=x2[12]233_0_length_ConstantStackPush(x0[12])=656_0_length_Return(x0[0])∧x1[12]=x2[0]x2[12]=x3[0]x0[12]=x1[0]1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (287) using rules (III), (IV), (VII), (REWRITING) which results in the following new constraint:

    (288)    (1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_Return0=x129627_0_length_NULL(x129, x1[15])=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[15], x2[15], x3[15])≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x1[15], x2[15], x3[15])≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[15]), x2[15], x3[15], x1[15])∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (288) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_Return which results in the following new constraint:

    (289)    (2390_0_test_NULL(x131, x130, x132)=2429_0_test_Return0=x129627_0_length_NULL(x129, x132)=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x132, x131, x130)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x132, x131, x130)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x132), x131, x130, x132)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (289) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x129, x132)=656_0_length_Return(x0[0]) which results in the following new constraints:

    (290)    (656_0_length_Return(x133)=656_0_length_Return(x0[0])∧2390_0_test_NULL(x131, x130, NULL)=2429_0_test_Return0=x1331100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x131, x130)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x131, x130)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x131, x130, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))


    (291)    (Cond_627_0_length_NULL(>=(x135, 0), x135, java.lang.Object(List(x134)))=656_0_length_Return(x0[0])∧2390_0_test_NULL(x131, x130, java.lang.Object(List(x134)))=2429_0_test_Return0=x1351100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x134)), x131, x130)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x134)), x131, x130)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x134))), x131, x130, java.lang.Object(List(x134)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (290) using rules (I), (II), (IV), (REWRITING) which results in the following new constraint:

    (292)    (1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x131, x130)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, NULL, x131, x130)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(NULL), x131, x130, NULL)∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (291) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (293)    (2390_0_test_NULL(x131, x130, java.lang.Object(List(x134)))=2429_0_test_ReturnCond_627_0_length_NULL(TRUE, 0, java.lang.Object(List(x134)))=656_0_length_Return(x0[0]) ⇒ 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x134)), x131, x130)≥NonInfC∧1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, java.lang.Object(List(x134)), x131, x130)≥233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x134))), x131, x130, java.lang.Object(List(x134)))∧(UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥))



    We simplified constraint (292) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (294)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (293) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (295)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (294) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (296)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (295) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (297)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (296) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (298)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (297) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (299)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (298) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (300)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)



    We simplified constraint (299) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (301)    ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)







For Pair 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x0, java.lang.Object(List(x2))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3) the following chains were created:
  • We consider the chain 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9]), 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]) which results in the following constraint:

    (302)    (233_0_length_ConstantStackPush(x2[9])=656_0_length_Return(x0[13])∧x1[9]=x1[13]x3[9]=x3[13]x0[9]=x0[13]x2[9]=java.lang.Object(List(x2[13]))∧1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Returnx1[13]=x0[12]x2[13]=x1[12]x3[13]=x2[12]908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13])))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13])))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (302) using rules (III), (IV), (VII), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (303)    (1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Return1=x138627_0_length_NULL(x138, x2[13])=656_0_length_Return(x0[9]) ⇒ 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x1[13], x3[13], x0[9], java.lang.Object(List(x2[13])))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x1[13], x3[13], x0[9], java.lang.Object(List(x2[13])))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (303) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[13], x2[13], x3[13])=2429_0_test_Return which results in the following new constraint:

    (304)    (2390_0_test_NULL(x140, x139, x141)=2429_0_test_Return1=x138627_0_length_NULL(x138, x140)=656_0_length_Return(x0[9]) ⇒ 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(x140)))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(x140)))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x141, x140, x139), x141, x140, x139)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (304) using rule (V) (with possible (I) afterwards) using induction on 627_0_length_NULL(x138, x140)=656_0_length_Return(x0[9]) which results in the following new constraints:

    (305)    (656_0_length_Return(x142)=656_0_length_Return(x0[9])∧2390_0_test_NULL(NULL, x139, x141)=2429_0_test_Return1=x142908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(NULL)))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(NULL)))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x141, NULL, x139), x141, NULL, x139)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))


    (306)    (Cond_627_0_length_NULL(>=(x144, 0), x144, java.lang.Object(List(x143)))=656_0_length_Return(x0[9])∧2390_0_test_NULL(java.lang.Object(List(x143)), x139, x141)=2429_0_test_Return1=x144908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(java.lang.Object(List(x143)))))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(java.lang.Object(List(x143)))))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x141, java.lang.Object(List(x143)), x139), x141, java.lang.Object(List(x143)), x139)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (305) using rules (I), (II), (III), (VII) which results in the following new constraint:

    (307)    (2390_0_test_NULL(NULL, x139, x141)=2429_0_test_Return908_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), x141, x139, 1, java.lang.Object(List(NULL)))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(1), x141, x139, 1, java.lang.Object(List(NULL)))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x141, NULL, x139), x141, NULL, x139)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (306) using rules (III), (VII), (IDP_CONSTANT_FOLD) which results in the following new constraint:

    (308)    (2390_0_test_NULL(java.lang.Object(List(x143)), x139, x141)=2429_0_test_ReturnCond_627_0_length_NULL(TRUE, 1, java.lang.Object(List(x143)))=656_0_length_Return(x0[9]) ⇒ 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(java.lang.Object(List(x143)))))≥NonInfC∧908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x141, x139, x0[9], java.lang.Object(List(java.lang.Object(List(x143)))))≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x141, java.lang.Object(List(x143)), x139), x141, java.lang.Object(List(x143)), x139)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥))



    We simplified constraint (307) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (309)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(3)bni_149 + (-1)Bound*bni_149] + [bni_149]x139 + [bni_149]x141 ≥ 0∧[1 + (-1)bso_150] ≥ 0)



    We simplified constraint (308) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (310)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(19)bni_149 + (-1)Bound*bni_149] + [(16)bni_149]x143 + [bni_149]x139 + [bni_149]x141 ≥ 0∧[13 + (-1)bso_150] + [12]x143 ≥ 0)



    We simplified constraint (309) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (311)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(3)bni_149 + (-1)Bound*bni_149] + [bni_149]x139 + [bni_149]x141 ≥ 0∧[1 + (-1)bso_150] ≥ 0)



    We simplified constraint (310) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (312)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(19)bni_149 + (-1)Bound*bni_149] + [(16)bni_149]x143 + [bni_149]x139 + [bni_149]x141 ≥ 0∧[13 + (-1)bso_150] + [12]x143 ≥ 0)



    We simplified constraint (311) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (313)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(3)bni_149 + (-1)Bound*bni_149] + [bni_149]x139 + [bni_149]x141 ≥ 0∧[1 + (-1)bso_150] ≥ 0)



    We simplified constraint (312) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (314)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(19)bni_149 + (-1)Bound*bni_149] + [(16)bni_149]x143 + [bni_149]x139 + [bni_149]x141 ≥ 0∧[13 + (-1)bso_150] + [12]x143 ≥ 0)



    We simplified constraint (313) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (315)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[bni_149] ≥ 0∧[bni_149] ≥ 0∧[(3)bni_149 + (-1)Bound*bni_149] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_150] ≥ 0)



    We simplified constraint (314) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (316)    ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(16)bni_149] ≥ 0∧0 ≥ 0∧[bni_149] ≥ 0∧[bni_149] ≥ 0∧[(19)bni_149 + (-1)Bound*bni_149] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[13 + (-1)bso_150] ≥ 0∧[1] ≥ 0)







For Pair 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4, x0), 656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2) the following chains were created:
  • We consider the chain 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]), COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15]) which results in the following constraint:

    (317)    (>(x4[14], x0[14])=TRUE656_0_length_Return(x0[14])=656_0_length_Return(x0[15])∧java.lang.Object(List(x1[14]))=java.lang.Object(List(x1[15]))∧x3[14]=x3[15]x4[14]=x4[15]x2[14]=x2[15]807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])≥NonInfC∧807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])≥COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])∧(UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥))



    We simplified constraint (317) using rules (I), (II), (IV) which results in the following new constraint:

    (318)    (>(x4[14], x0[14])=TRUE807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])≥NonInfC∧807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])≥COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])∧(UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥))



    We simplified constraint (318) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (319)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥)∧[(3)bni_151 + (-1)Bound*bni_151] + [bni_151]x2[14] + [bni_151]x3[14] + [(4)bni_151]x1[14] ≥ 0∧[(-1)bso_152] ≥ 0)



    We simplified constraint (319) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (320)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥)∧[(3)bni_151 + (-1)Bound*bni_151] + [bni_151]x2[14] + [bni_151]x3[14] + [(4)bni_151]x1[14] ≥ 0∧[(-1)bso_152] ≥ 0)



    We simplified constraint (320) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (321)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥)∧[(3)bni_151 + (-1)Bound*bni_151] + [bni_151]x2[14] + [bni_151]x3[14] + [(4)bni_151]x1[14] ≥ 0∧[(-1)bso_152] ≥ 0)



    We simplified constraint (321) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (322)    (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥)∧[bni_151] ≥ 0∧0 ≥ 0∧[bni_151] ≥ 0∧[(4)bni_151] ≥ 0∧0 ≥ 0∧[(3)bni_151 + (-1)Bound*bni_151] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_152] ≥ 0)







For Pair COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3) the following chains were created:
  • We consider the chain 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]), COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15]), 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12]) which results in the following constraint:

    (323)    (>(x4[14], x0[14])=TRUE656_0_length_Return(x0[14])=656_0_length_Return(x0[15])∧java.lang.Object(List(x1[14]))=java.lang.Object(List(x1[15]))∧x3[14]=x3[15]x4[14]=x4[15]x2[14]=x2[15]1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_Returnx1[15]=x0[12]x2[15]=x1[12]x3[15]=x2[12]COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15])≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥))



    We simplified constraint (323) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (324)    (>(x4[14], x0[14])=TRUE1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_ReturnCOND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[14]), java.lang.Object(List(x1[15])), x3[15], x4[14], x2[15])≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[14]), java.lang.Object(List(x1[15])), x3[15], x4[14], x2[15])≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥))



    We simplified constraint (324) using rule (V) (with possible (I) afterwards) using induction on 1100_0_test_Load(x1[15], x2[15], x3[15])=2429_0_test_Return which results in the following new constraint:

    (325)    (2390_0_test_NULL(x149, x148, x150)=2429_0_test_Return>(x4[14], x0[14])=TRUECOND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[14]), java.lang.Object(List(x150)), x148, x4[14], x149)≥NonInfC∧COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[14]), java.lang.Object(List(x150)), x148, x4[14], x149)≥1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x150, x149, x148), x150, x149, x148)∧(UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥))



    We simplified constraint (325) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (326)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥)∧[(3)bni_153 + (-1)Bound*bni_153] + [bni_153]x149 + [bni_153]x148 + [(4)bni_153]x150 ≥ 0∧[1 + (-1)bso_154] + [3]x150 ≥ 0)



    We simplified constraint (326) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (327)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥)∧[(3)bni_153 + (-1)Bound*bni_153] + [bni_153]x149 + [bni_153]x148 + [(4)bni_153]x150 ≥ 0∧[1 + (-1)bso_154] + [3]x150 ≥ 0)



    We simplified constraint (327) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (328)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥)∧[(3)bni_153 + (-1)Bound*bni_153] + [bni_153]x149 + [bni_153]x148 + [(4)bni_153]x150 ≥ 0∧[1 + (-1)bso_154] + [3]x150 ≥ 0)



    We simplified constraint (328) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (329)    (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥)∧[bni_153] ≥ 0∧0 ≥ 0∧[bni_153] ≥ 0∧[(4)bni_153] ≥ 0∧0 ≥ 0∧[(3)bni_153 + (-1)Bound*bni_153] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_154] ≥ 0∧[1] ≥ 0)







For Pair 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0, 5)), 656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3))) the following chains were created:
  • We consider the chain 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))), COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17]) which results in the following constraint:

    (330)    (=(0, %(x0[16], 5))=TRUE656_0_length_Return(x0[16])=656_0_length_Return(x0[17])∧x1[16]=x1[17]x2[16]=x2[17]java.lang.Object(List(x3[16]))=java.lang.Object(List(x3[17])) ⇒ 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))≥NonInfC∧718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))≥COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))∧(UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥))



    We simplified constraint (330) using rules (I), (II), (IV) which results in the following new constraint:

    (331)    (=(0, %(x0[16], 5))=TRUE718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))≥NonInfC∧718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))≥COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))∧(UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥))



    We simplified constraint (331) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (332)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥)∧[(3)bni_155 + (-1)Bound*bni_155] + [(4)bni_155]x3[16] + [bni_155]x2[16] + [bni_155]x1[16] ≥ 0∧[(-1)bso_156] ≥ 0)



    We simplified constraint (332) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (333)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥)∧[(3)bni_155 + (-1)Bound*bni_155] + [(4)bni_155]x3[16] + [bni_155]x2[16] + [bni_155]x1[16] ≥ 0∧[(-1)bso_156] ≥ 0)



    We simplified constraint (333) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (334)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥)∧[(3)bni_155 + (-1)Bound*bni_155] + [(4)bni_155]x3[16] + [bni_155]x2[16] + [bni_155]x1[16] ≥ 0∧[(-1)bso_156] ≥ 0)



    We simplified constraint (334) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (335)    (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥)∧[(4)bni_155] ≥ 0∧[bni_155] ≥ 0∧[bni_155] ≥ 0∧0 ≥ 0∧[(3)bni_155 + (-1)Bound*bni_155] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_156] ≥ 0)







For Pair COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1) the following chains were created:
  • We consider the chain 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))), COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17]), 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6]) which results in the following constraint:

    (336)    (=(0, %(x0[16], 5))=TRUE656_0_length_Return(x0[16])=656_0_length_Return(x0[17])∧x1[16]=x1[17]x2[16]=x2[17]java.lang.Object(List(x3[16]))=java.lang.Object(List(x3[17]))∧233_0_length_ConstantStackPush(x1[17])=656_0_length_Return(x0[6])∧x2[17]=x2[6]x3[17]=x3[6]x1[17]=x1[6]COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17])))≥NonInfC∧COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17])))≥775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])∧(UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥))



    We simplified constraint (336) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (337)    (=(0, %(x0[16], 5))=TRUE627_0_length_NULL(0, x1[17])=656_0_length_Return(x0[6]) ⇒ COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[16]), x1[17], x2[16], java.lang.Object(List(x3[16])))≥NonInfC∧COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[16]), x1[17], x2[16], java.lang.Object(List(x3[16])))≥775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[16], x3[16], x1[17])∧(UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥))



    We simplified constraint (337) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (338)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥)∧[(3)bni_157 + (-1)Bound*bni_157] + [(4)bni_157]x3[16] + [bni_157]x2[16] + [bni_157]x1[17] ≥ 0∧[4 + (-1)bso_158] + [3]x3[16] ≥ 0)



    We simplified constraint (338) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (339)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥)∧[(3)bni_157 + (-1)Bound*bni_157] + [(4)bni_157]x3[16] + [bni_157]x2[16] + [bni_157]x1[17] ≥ 0∧[4 + (-1)bso_158] + [3]x3[16] ≥ 0)



    We simplified constraint (339) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (340)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥)∧[(3)bni_157 + (-1)Bound*bni_157] + [(4)bni_157]x3[16] + [bni_157]x2[16] + [bni_157]x1[17] ≥ 0∧[4 + (-1)bso_158] + [3]x3[16] ≥ 0)



    We simplified constraint (340) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (341)    (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥)∧[(4)bni_157] ≥ 0∧[bni_157] ≥ 0∧[bni_157] ≥ 0∧0 ≥ 0∧[(3)bni_157 + (-1)Bound*bni_157] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_158] ≥ 0∧[1] ≥ 0)







For Pair 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0, 3)), 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2) the following chains were created:
  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]), COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19]))) which results in the following constraint:

    (342)    (=(0, %(x0[18], 3))=TRUE656_0_length_Return(x0[18])=656_0_length_Return(x0[19])∧x1[18]=x1[19]java.lang.Object(List(x3[18]))=java.lang.Object(List(x3[19]))∧x2[18]=x2[19]668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])≥NonInfC∧668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])≥COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])∧(UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥))



    We simplified constraint (342) using rules (I), (II), (IV) which results in the following new constraint:

    (343)    (=(0, %(x0[18], 3))=TRUE668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])≥NonInfC∧668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])≥COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])∧(UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥))



    We simplified constraint (343) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (344)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥)∧[(3)bni_159 + (-1)Bound*bni_159] + [bni_159]x2[18] + [(4)bni_159]x3[18] + [bni_159]x1[18] ≥ 0∧[(-1)bso_160] ≥ 0)



    We simplified constraint (344) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (345)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥)∧[(3)bni_159 + (-1)Bound*bni_159] + [bni_159]x2[18] + [(4)bni_159]x3[18] + [bni_159]x1[18] ≥ 0∧[(-1)bso_160] ≥ 0)



    We simplified constraint (345) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (346)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥)∧[(3)bni_159 + (-1)Bound*bni_159] + [bni_159]x2[18] + [(4)bni_159]x3[18] + [bni_159]x1[18] ≥ 0∧[(-1)bso_160] ≥ 0)



    We simplified constraint (346) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (347)    (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥)∧[bni_159] ≥ 0∧[(4)bni_159] ≥ 0∧[bni_159] ≥ 0∧0 ≥ 0∧[(3)bni_159 + (-1)Bound*bni_159] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_160] ≥ 0)







For Pair COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3))), x1, x2, java.lang.Object(List(x3))) the following chains were created:
  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]), COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19]))), 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) which results in the following constraint:

    (348)    (=(0, %(x0[18], 3))=TRUE656_0_length_Return(x0[18])=656_0_length_Return(x0[19])∧x1[18]=x1[19]java.lang.Object(List(x3[18]))=java.lang.Object(List(x3[19]))∧x2[18]=x2[19]233_0_length_ConstantStackPush(java.lang.Object(List(x3[19])))=656_0_length_Return(x0[4])∧x1[19]=x1[4]x2[19]=x2[4]java.lang.Object(List(x3[19]))=x3[4]COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥))



    We simplified constraint (348) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (349)    (=(0, %(x0[18], 3))=TRUE627_0_length_NULL(1, x3[19])=656_0_length_Return(x0[4]) ⇒ COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[19])), x2[18])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[19])), x2[18])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[18], x2[18], java.lang.Object(List(x3[19])))∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥))



    We simplified constraint (349) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (350)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (350) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (351)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (351) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (352)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (352) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (353)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[bni_161] ≥ 0∧[(4)bni_161] ≥ 0∧[bni_161] ≥ 0∧0 ≥ 0∧[(3)bni_161 + (-1)Bound*bni_161] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_162] ≥ 0)



  • We consider the chain 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]), COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19]))), 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) which results in the following constraint:

    (354)    (=(0, %(x0[18], 3))=TRUE656_0_length_Return(x0[18])=656_0_length_Return(x0[19])∧x1[18]=x1[19]java.lang.Object(List(x3[18]))=java.lang.Object(List(x3[19]))∧x2[18]=x2[19]233_0_length_ConstantStackPush(java.lang.Object(List(x3[19])))=656_0_length_Return(x0[16])∧x1[19]=x1[16]x2[19]=x2[16]java.lang.Object(List(x3[19]))=java.lang.Object(List(x3[16])) ⇒ COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥))



    We simplified constraint (354) using rules (I), (II), (III), (IV), (IDP_CONSTANT_FOLD), (REWRITING) which results in the following new constraint:

    (355)    (=(0, %(x0[18], 3))=TRUE627_0_length_NULL(1, x3[19])=656_0_length_Return(x0[16]) ⇒ COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[19])), x2[18])≥NonInfC∧COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[19])), x2[18])≥718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[18], x2[18], java.lang.Object(List(x3[19])))∧(UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥))



    We simplified constraint (355) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (356)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (356) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (357)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (357) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (358)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[(3)bni_161 + (-1)Bound*bni_161] + [bni_161]x2[18] + [(4)bni_161]x3[19] + [bni_161]x1[18] ≥ 0∧[(-1)bso_162] ≥ 0)



    We simplified constraint (358) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (359)    (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[bni_161] ≥ 0∧[(4)bni_161] ≥ 0∧[bni_161] ≥ 0∧0 ≥ 0∧[(3)bni_161 + (-1)Bound*bni_161] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_162] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → COND_233_1_MAIN_INVOKEMETHOD(>(x0, 0), 656_0_length_Return(x0), x2, x3, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])), ≥)∧[bni_123] ≥ 0∧[bni_123] ≥ 0∧[bni_123] ≥ 0∧0 ≥ 0∧[(-1)bni_123 + (-1)Bound*bni_123] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_124] ≥ 0)

  • COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x2, x3, x1) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3), x2, x1, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧0 ≥ 0∧[(-1)bni_125 + (-1)Bound*bni_125] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_126] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])), ≥)∧[(4)bni_125] ≥ 0∧[bni_125] ≥ 0∧[bni_125] ≥ 0∧0 ≥ 0∧[(3)bni_125 + (-1)Bound*bni_125] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_126] ≥ 0)

  • 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x2) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0, 3), 0)), 656_0_length_Return(x0), x1, x3, x2)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])), ≥)∧[bni_127] ≥ 0∧[bni_127] ≥ 0∧[bni_127] ≥ 0∧0 ≥ 0∧[(-1)bni_127 + (-1)Bound*bni_127] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_128] ≥ 0)

  • COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x3, x2) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3), x1, x2, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[bni_129] ≥ 0∧[bni_129] ≥ 0∧[bni_129] ≥ 0∧0 ≥ 0∧[(-1)bni_129 + (-1)Bound*bni_129] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_130] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])), ≥)∧[bni_129] ≥ 0∧[(4)bni_129] ≥ 0∧[bni_129] ≥ 0∧0 ≥ 0∧[(3)bni_129 + (-1)Bound*bni_129] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_130] ≥ 0)

  • 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x2, x3) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0, 5), 0)), 656_0_length_Return(x0), x1, x2, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])), ≥)∧[bni_131] ≥ 0∧[bni_131] ≥ 0∧[bni_131] ≥ 0∧0 ≥ 0∧[(-1)bni_131 + (-1)Bound*bni_131] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_132] ≥ 0)

  • COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x2, x3) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])), ≥)∧[bni_133] ≥ 0∧[bni_133] ≥ 0∧[bni_133] ≥ 0∧0 ≥ 0∧[(-1)bni_133 + (-1)Bound*bni_133] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_134] ≥ 0)

  • 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2), x1, x3, x0, x2)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)
    • ((UIncreasing(807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_136] ≥ 0)

  • 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x4, x2) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4, x0), 656_0_length_Return(x0), x1, x3, x4, x2)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])), ≥)∧[bni_137] ≥ 0∧0 ≥ 0∧[bni_137] ≥ 0∧[bni_137] ≥ 0∧0 ≥ 0∧[(-1)bni_137 + (-1)Bound*bni_137] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_138] ≥ 0)

  • COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, x3, x4, x2) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[bni_139] ≥ 0∧0 ≥ 0∧[bni_139] ≥ 0∧0 ≥ 0∧[(-1)bni_139 + (-1)Bound*bni_139] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_140] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])), ≥)∧[bni_139] ≥ 0∧0 ≥ 0∧[bni_139] ≥ 0∧[(4)bni_139] ≥ 0∧0 ≥ 0∧[(3)bni_139 + (-1)Bound*bni_139] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_140] ≥ 0)

  • 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x2, x3, x1) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2), x1, x3, x0, x2)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)
    • ((UIncreasing(908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_142] ≥ 0)

  • 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4, x0)), 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])), ≥)∧[bni_143] ≥ 0∧0 ≥ 0∧[(4)bni_143] ≥ 0∧[bni_143] ≥ 0∧0 ≥ 0∧[(3)bni_143 + (-1)Bound*bni_143] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_144] ≥ 0)

  • COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x4, x2) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])), ≥)∧[bni_145] ≥ 0∧0 ≥ 0∧[(4)bni_145] ≥ 0∧[bni_145] ≥ 0∧0 ≥ 0∧[(3)bni_145 + (-1)Bound*bni_145] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_146] ≥ 0∧[1] ≥ 0)

  • 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0, x1, x2) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0), x1, x2, x0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)
    • ((UIncreasing(233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_148] ≥ 0)

  • 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x3, x0, java.lang.Object(List(x2))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3)
    • ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[bni_149] ≥ 0∧[bni_149] ≥ 0∧[(3)bni_149 + (-1)Bound*bni_149] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_150] ≥ 0)
    • ((UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])), ≥)∧[(16)bni_149] ≥ 0∧0 ≥ 0∧[bni_149] ≥ 0∧[bni_149] ≥ 0∧[(19)bni_149 + (-1)Bound*bni_149] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[13 + (-1)bso_150] ≥ 0∧[1] ≥ 0)

  • 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4, x0), 656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])), ≥)∧[bni_151] ≥ 0∧0 ≥ 0∧[bni_151] ≥ 0∧[(4)bni_151] ≥ 0∧0 ≥ 0∧[(3)bni_151 + (-1)Bound*bni_151] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_152] ≥ 0)

  • COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), java.lang.Object(List(x1)), x3, x4, x2) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1, x2, x3), x1, x2, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])), ≥)∧[bni_153] ≥ 0∧0 ≥ 0∧[bni_153] ≥ 0∧[(4)bni_153] ≥ 0∧0 ≥ 0∧[(3)bni_153 + (-1)Bound*bni_153] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_154] ≥ 0∧[1] ≥ 0)

  • 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0, 5)), 656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))), ≥)∧[(4)bni_155] ≥ 0∧[bni_155] ≥ 0∧[bni_155] ≥ 0∧0 ≥ 0∧[(3)bni_155 + (-1)Bound*bni_155] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_156] ≥ 0)

  • COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), x1, x2, java.lang.Object(List(x3))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1), x2, x3, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])), ≥)∧[(4)bni_157] ≥ 0∧[bni_157] ≥ 0∧[bni_157] ≥ 0∧0 ≥ 0∧[(3)bni_157 + (-1)Bound*bni_157] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_158] ≥ 0∧[1] ≥ 0)

  • 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0, 3)), 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])), ≥)∧[bni_159] ≥ 0∧[(4)bni_159] ≥ 0∧[bni_159] ≥ 0∧0 ≥ 0∧[(3)bni_159 + (-1)Bound*bni_159] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_160] ≥ 0)

  • COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0), x1, java.lang.Object(List(x3)), x2) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3))), x1, x2, java.lang.Object(List(x3)))
    • (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[bni_161] ≥ 0∧[(4)bni_161] ≥ 0∧[bni_161] ≥ 0∧0 ≥ 0∧[(3)bni_161 + (-1)Bound*bni_161] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_162] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))), ≥)∧[bni_161] ≥ 0∧[(4)bni_161] ≥ 0∧[bni_161] ≥ 0∧0 ≥ 0∧[(3)bni_161 + (-1)Bound*bni_161] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_162] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(233_0_length_ConstantStackPush(x1)) = 0   
POL(627_0_length_NULL(x1, x2)) = 0   
POL(0) = 0   
POL(1100_0_test_Load(x1, x2, x3)) = x2   
POL(2390_0_test_NULL(x1, x2, x3)) = 0   
POL(NULL) = 0   
POL(2429_0_test_Return) = 0   
POL(java.lang.Object(x1)) = [2]x1   
POL(List(x1)) = [2] + [2]x1   
POL(3158_0_test_NULL(x1, x2, x3)) = 0   
POL(656_0_length_Return(x1)) = 0   
POL(Cond_627_0_length_NULL(x1, x2, x3)) = 0   
POL(>=(x1, x2)) = 0   
POL(+(x1, x2)) = 0   
POL(1) = 0   
POL(233_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x3 + x2 + [-1]x1   
POL(COND_233_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x5 + x4 + x3 + [-1]x2   
POL(>(x1, x2)) = 0   
POL(668_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x3 + x2 + [-1]x1   
POL(COND_668_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x5 + x4 + x3 + [-1]x2 + x1   
POL(!(x1)) = 0   
POL(=(x1, x2)) = 0   
POL(3) = 0   
POL(718_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x3 + x2 + [-1]x1   
POL(COND_718_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x5 + x4 + x3 + [-1]x2   
POL(5) = 0   
POL(775_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x3 + x2 + [-1]x1   
POL(807_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x5 + x3 + x2 + [-1]x1   
POL(COND_807_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5, x6)) = [-1] + x6 + x4 + x3 + [-1]x2   
POL(<=(x1, x2)) = 0   
POL(867_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x3 + x2 + [-1]x1   
POL(908_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x5 + x3 + x2 + [-1]x1   
POL(COND_908_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5, x6)) = [-1] + x6 + x4 + x3 + [-1]x2 + [-1]x1   
POL(1100_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [2] + x4 + x3 + x2   
POL(COND_807_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5, x6)) = [-1] + x6 + x4 + x3 + [-1]x2   
POL(COND_718_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + x5 + x4 + x3 + [-1]x2   
POL(COND_668_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + x5 + x4 + x3 + [-1]x2   

The following pairs are in P>:

COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])
1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])
908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])
COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])
COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])

The following pairs are in Pbound:

233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])
COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])
668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])
COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])
718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])
COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])
807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])
COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])
908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])
COND_908_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[11]), x1[11], java.lang.Object(List(x3[11])), x4[11], x2[11]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[11], x2[11], x3[11]), x1[11], x2[11], x3[11])
908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[13]), x1[13], x3[13], x0[13], java.lang.Object(List(x2[13]))) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[13], x2[13], x3[13]), x1[13], x2[13], x3[13])
807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])
COND_807_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[15]), java.lang.Object(List(x1[15])), x3[15], x4[15], x2[15]) → 1100_1_MAIN_INVOKEMETHOD(1100_0_test_Load(x1[15], x2[15], x3[15]), x1[15], x2[15], x3[15])
718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))
COND_718_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[17]), x1[17], x2[17], java.lang.Object(List(x3[17]))) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[17]), x2[17], x3[17], x1[17])
668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])
COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))

The following pairs are in P:

233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(>(x0[0], 0), 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])
COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])
668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(=(%(x0[2], 3), 0)), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])
COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])
718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(=(%(x0[4], 5), 0)), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])
COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])
775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])
807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(<=(x4[7], x0[7]), 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])
COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])
867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])
908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(=(x4[10], x0[10])), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])
807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(>(x4[14], x0[14]), 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])
718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(=(0, %(x0[16], 5)), 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))
668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(=(0, %(x0[18], 3)), 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])
COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))

At least the following rules have been oriented under context sensitive arithmetic replacement:

233_0_length_ConstantStackPush(x0)1627_0_length_NULL(0, x0)1
627_0_length_NULL(x0, NULL)1656_0_length_Return(x0)1
627_0_length_NULL(x1, java.lang.Object(List(x0)))1Cond_627_0_length_NULL(>=(x1, 0), x1, java.lang.Object(List(x0)))1
Cond_627_0_length_NULL(TRUE, x1, java.lang.Object(List(x0)))1627_0_length_NULL(+(x1, 1), x0)1
!(TRUE)1FALSE1
!(FALSE)1TRUE1
1100_0_test_Load(x0, x1, x2)12390_0_test_NULL(x1, x2, x0)1
2390_0_test_NULL(x0, x1, NULL)12429_0_test_Return1
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0)))13158_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)1
3158_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962)12390_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962)1
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0)))12390_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)1

(30) Complex Obligation (AND)

(31) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
233_0_length_ConstantStackPush(x0) → 627_0_length_NULL(0, x0)
1100_0_test_Load(x0, x1, x2) → 2390_0_test_NULL(x1, x2, x0)
2390_0_test_NULL(x0, x1, NULL) → 2429_0_test_Return
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 2390_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 3158_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
627_0_length_NULL(x0, NULL) → 656_0_length_Return(x0)
627_0_length_NULL(x1, java.lang.Object(List(x0))) → Cond_627_0_length_NULL(x1 >= 0, x1, java.lang.Object(List(x0)))
Cond_627_0_length_NULL(TRUE, x1, java.lang.Object(List(x0))) → 627_0_length_NULL(x1 + 1, x0)
3158_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962) → 2390_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962)

The integer pair graph contains the following rules and edges:
(0): 233_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[0]), x2[0], x3[0], x1[0]) → COND_233_1_MAIN_INVOKEMETHOD(x0[0] > 0, 656_0_length_Return(x0[0]), x2[0], x3[0], x1[0])
(1): COND_233_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[1]), x2[1], x3[1], x1[1]) → 668_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[1]), x2[1], x1[1], x3[1])
(2): 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[2]), x1[2], x3[2], x2[2]) → COND_668_1_MAIN_INVOKEMETHOD(!(x0[2] % 3 = 0), 656_0_length_Return(x0[2]), x1[2], x3[2], x2[2])
(3): COND_668_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[3]), x1[3], x3[3], x2[3]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x3[3]), x1[3], x2[3], x3[3])
(4): 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[4]), x1[4], x2[4], x3[4]) → COND_718_1_MAIN_INVOKEMETHOD(!(x0[4] % 5 = 0), 656_0_length_Return(x0[4]), x1[4], x2[4], x3[4])
(5): COND_718_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[5]), x1[5], x2[5], x3[5]) → 775_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[5]), x2[5], x3[5], x1[5])
(6): 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])
(7): 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7]) → COND_807_1_MAIN_INVOKEMETHOD(x4[7] <= x0[7], 656_0_length_Return(x0[7]), x1[7], x3[7], x4[7], x2[7])
(8): COND_807_1_MAIN_INVOKEMETHOD(TRUE, 656_0_length_Return(x0[8]), x1[8], x3[8], x4[8], x2[8]) → 867_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x1[8]), x2[8], x3[8], x1[8])
(9): 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])
(10): 908_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10]) → COND_908_1_MAIN_INVOKEMETHOD(!(x4[10] = x0[10]), 656_0_length_Return(x0[10]), x1[10], java.lang.Object(List(x3[10])), x4[10], x2[10])
(14): 807_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14]) → COND_807_1_MAIN_INVOKEMETHOD1(x4[14] > x0[14], 656_0_length_Return(x0[14]), java.lang.Object(List(x1[14])), x3[14], x4[14], x2[14])
(16): 718_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16]))) → COND_718_1_MAIN_INVOKEMETHOD1(0 = x0[16] % 5, 656_0_length_Return(x0[16]), x1[16], x2[16], java.lang.Object(List(x3[16])))
(18): 668_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18]) → COND_668_1_MAIN_INVOKEMETHOD1(0 = x0[18] % 3, 656_0_length_Return(x0[18]), x1[18], java.lang.Object(List(x3[18])), x2[18])
(19): COND_668_1_MAIN_INVOKEMETHOD1(TRUE, 656_0_length_Return(x0[19]), x1[19], java.lang.Object(List(x3[19])), x2[19]) → 718_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))), x1[19], x2[19], java.lang.Object(List(x3[19])))

(0) -> (1), if ((x0[0] > 0* TRUE)∧(656_0_length_Return(x0[0]) →* 656_0_length_Return(x0[1]))∧(x2[0]* x2[1])∧(x3[0]* x3[1])∧(x1[0]* x1[1]))


(1) -> (2), if ((233_0_length_ConstantStackPush(x3[1]) →* 656_0_length_Return(x0[2]))∧(x2[1]* x1[2])∧(x1[1]* x3[2])∧(x3[1]* x2[2]))


(2) -> (3), if ((!(x0[2] % 3 = 0) →* TRUE)∧(656_0_length_Return(x0[2]) →* 656_0_length_Return(x0[3]))∧(x1[2]* x1[3])∧(x3[2]* x3[3])∧(x2[2]* x2[3]))


(3) -> (4), if ((233_0_length_ConstantStackPush(x3[3]) →* 656_0_length_Return(x0[4]))∧(x1[3]* x1[4])∧(x2[3]* x2[4])∧(x3[3]* x3[4]))


(19) -> (4), if ((233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))) →* 656_0_length_Return(x0[4]))∧(x1[19]* x1[4])∧(x2[19]* x2[4])∧(java.lang.Object(List(x3[19])) →* x3[4]))


(4) -> (5), if ((!(x0[4] % 5 = 0) →* TRUE)∧(656_0_length_Return(x0[4]) →* 656_0_length_Return(x0[5]))∧(x1[4]* x1[5])∧(x2[4]* x2[5])∧(x3[4]* x3[5]))


(5) -> (6), if ((233_0_length_ConstantStackPush(x1[5]) →* 656_0_length_Return(x0[6]))∧(x2[5]* x2[6])∧(x3[5]* x3[6])∧(x1[5]* x1[6]))


(6) -> (7), if ((233_0_length_ConstantStackPush(x2[6]) →* 656_0_length_Return(x0[7]))∧(x1[6]* x1[7])∧(x3[6]* x3[7])∧(x0[6]* x4[7])∧(x2[6]* x2[7]))


(7) -> (8), if ((x4[7] <= x0[7]* TRUE)∧(656_0_length_Return(x0[7]) →* 656_0_length_Return(x0[8]))∧(x1[7]* x1[8])∧(x3[7]* x3[8])∧(x4[7]* x4[8])∧(x2[7]* x2[8]))


(8) -> (9), if ((233_0_length_ConstantStackPush(x1[8]) →* 656_0_length_Return(x0[9]))∧(x2[8]* x2[9])∧(x3[8]* x3[9])∧(x1[8]* x1[9]))


(9) -> (10), if ((233_0_length_ConstantStackPush(x2[9]) →* 656_0_length_Return(x0[10]))∧(x1[9]* x1[10])∧(x3[9]* java.lang.Object(List(x3[10])))∧(x0[9]* x4[10])∧(x2[9]* x2[10]))


(6) -> (14), if ((233_0_length_ConstantStackPush(x2[6]) →* 656_0_length_Return(x0[14]))∧(x1[6]* java.lang.Object(List(x1[14])))∧(x3[6]* x3[14])∧(x0[6]* x4[14])∧(x2[6]* x2[14]))


(3) -> (16), if ((233_0_length_ConstantStackPush(x3[3]) →* 656_0_length_Return(x0[16]))∧(x1[3]* x1[16])∧(x2[3]* x2[16])∧(x3[3]* java.lang.Object(List(x3[16]))))


(19) -> (16), if ((233_0_length_ConstantStackPush(java.lang.Object(List(x3[19]))) →* 656_0_length_Return(x0[16]))∧(x1[19]* x1[16])∧(x2[19]* x2[16])∧(java.lang.Object(List(x3[19])) →* java.lang.Object(List(x3[16]))))


(1) -> (18), if ((233_0_length_ConstantStackPush(x3[1]) →* 656_0_length_Return(x0[18]))∧(x2[1]* x1[18])∧(x1[1]* java.lang.Object(List(x3[18])))∧(x3[1]* x2[18]))


(18) -> (19), if ((0 = x0[18] % 3* TRUE)∧(656_0_length_Return(x0[18]) →* 656_0_length_Return(x0[19]))∧(x1[18]* x1[19])∧(java.lang.Object(List(x3[18])) →* java.lang.Object(List(x3[19])))∧(x2[18]* x2[19]))



The set Q consists of the following terms:
233_0_length_ConstantStackPush(x0)
1100_0_test_Load(x0, x1, x2)
2390_0_test_NULL(x0, x1, NULL)
2390_0_test_NULL(x0, x1, java.lang.Object(List(x2)))
627_0_length_NULL(x0, NULL)
627_0_length_NULL(x0, java.lang.Object(List(x1)))
Cond_627_0_length_NULL(TRUE, x0, java.lang.Object(List(x1)))
3158_0_test_NULL(java.lang.Object(List(x0)), java.lang.Object(List(x1)), x2)

(32) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 15 less nodes.

(33) TRUE

(34) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
233_0_length_ConstantStackPush(x0) → 627_0_length_NULL(0, x0)
1100_0_test_Load(x0, x1, x2) → 2390_0_test_NULL(x1, x2, x0)
2390_0_test_NULL(x0, x1, NULL) → 2429_0_test_Return
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 2390_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
2390_0_test_NULL(x1, x2, java.lang.Object(List(x0))) → 3158_0_test_NULL(java.lang.Object(List(x1)), java.lang.Object(List(x2)), x0)
627_0_length_NULL(x0, NULL) → 656_0_length_Return(x0)
627_0_length_NULL(x1, java.lang.Object(List(x0))) → Cond_627_0_length_NULL(x1 >= 0, x1, java.lang.Object(List(x0)))
Cond_627_0_length_NULL(TRUE, x1, java.lang.Object(List(x0))) → 627_0_length_NULL(x1 + 1, x0)
3158_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962) → 2390_0_test_NULL(java.lang.Object(List(o862)), java.lang.Object(List(o863)), o962)

The integer pair graph contains the following rules and edges:
(6): 775_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[6]), x2[6], x3[6], x1[6]) → 807_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[6]), x1[6], x3[6], x0[6], x2[6])
(9): 867_1_MAIN_INVOKEMETHOD(656_0_length_Return(x0[9]), x2[9], x3[9], x1[9]) → 908_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x2[9]), x1[9], x3[9], x0[9], x2[9])
(12): 1100_1_MAIN_INVOKEMETHOD(2429_0_test_Return, x0[12], x1[12], x2[12]) → 233_1_MAIN_INVOKEMETHOD(233_0_length_ConstantStackPush(x0[12]), x1[12], x2[12], x0[12])


The set Q consists of the following terms:
233_0_length_ConstantStackPush(x0)
1100_0_test_Load(x0, x1, x2)
2390_0_test_NULL(x0, x1, NULL)
2390_0_test_NULL(x0, x1, java.lang.Object(List(x2)))
627_0_length_NULL(x0, NULL)
627_0_length_NULL(x0, java.lang.Object(List(x1)))
Cond_627_0_length_NULL(TRUE, x0, java.lang.Object(List(x1)))
3158_0_test_NULL(java.lang.Object(List(x0)), java.lang.Object(List(x1)), x2)

(35) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes.

(36) TRUE